views:

643

answers:

1

Hi, Java has the thread dump which is triggered by a signal 3 sent to the process (e.g. "kill -3 PID"). The equivalent I've found for .NET is to use ADPlus (http://support.microsoft.com/kb/286350). This basically attaches a debugger, takes a mini dump, and executes a few commands. I find .NET's approach to be a very brute force, cludgy approach, and it appears to be slower, too.

Does anyone know of any alternatives?

(BTW, I recently found the following URL but haven't tried it: http://www.interact-sw.co.uk/iangblog/2004/11/16/stackdump)

Thanks.

+1  A: 

There is an "how to create dump" on msdn, which gives 4 ways, perhaps the third one might be worth trying in your case.

  1. While you are debugging a native process in Visual Studio, you can save a dump from the Debug menu. For more information, see How to: Save and Open Dump Files.

  2. If you have Just-In-Time debugging enabled, you can attach to a crashed process that is running outside the debugger, break the process, and then save a dump file. For more information, see How to: Save and Open Dump Files.

  3. You can create a dump by using the UserDump utility, which is part of the OEM Support Tools package. You can download a copy from http://download.microsoft.com/download/win2000srv/Utility/3.0/NT45/EN-US/Oem3sr2.zip.

  4. You can create a dump by using the Autodump+ (AD+) utility, which is part of Microsoft Debugging Tools for Windows. You can download Debugging Tools for Windows from Windows Hardware Developer Central at http://www.microsoft.com/whdc/DevTools/Debugging/default.mspx.

Andy Whitfield