Whole Tomato Software - Home
  • RSS Feed

Save a minidump file

You can save a minidump file of a crashed / hung IDE, or a running IDE process, to help debug a problem with Visual Assist. You have several options: a second instance of the IDE, WinDbg, Windows Error Reporting, and ProcDump. The best option for you depends on your IDE, operating system, and available tools.  In any case, the dump must be a 32-bit dump (even on a 64-bit OS), because Visual Studio is a 32-bit process.

Second instance of the IDE

Visual Studio 2005 and newer

Launch a second instance of the IDE, but do not load any solution in this second instance.

Open the Debug menu (VS2008 and newer) or the Tools menu (VS2005) and select "Attach to Process..." (Ctrl+Alt+P). In the dialog that appears, select "devenv.exe" in the "Available Processes" list and press "Attach".

If asked which program types you want to debug, make sure "Native" is checked:

Visual Studio 2012 and newer

Make sure "Managed (v4.5, 4.0)" is also checked:

If the target process is not already hung or crashed, reproduce the problem at this point. If the problem is a hang, switch back to the debugger instance and break into the process using the "Break All" command from the Debug menu. If the problem is a crash, the debugger instance should automatically break in.

Create a dump file using the "Save Dump As..." item in the Debug menu and note where you save the DMP file. In the save dialog, use the "Save as type" dropdown to select either "no heap" or the item without heap.

If the "Save Dump As..."command is not available, you will need to use WinDbg to save a minidump file. (See below.)

WinDbg

Visual Studio 2003/2002 or Visual C++ 6.0

Use WinDbg which is installed by default with your IDE. If it is not, download and install the Microsoft Debugging Tools for Windows. The 32bit version is here:

https://msdn.microsoft.com/en-us/windows/hardware/hh852365

Run WinDbg via the Start menu:

Start | All Programs | Debugging Tools for Windows (x86) | WinDbg
or directly run the program:
C:\Program Files\Debugging Tools for Windows (x86)\windbg.exe

Attach to the IDE process using the "Attach to a Process..." command from the File menu (F6). Select "msdev.exe" (VC6) or "devenv.exe" (VS2002 and above) from the list. It helps to have closed any extra instances of the IDE, so only the hung / problem IDE is in the list and you know you are selecting the correct process. Sorting the process list "By Executable" also helps.

If the target process is not already hung or crashed, reproduce the problem at this point. If the problem is a hang, switch back to WinDbg and break into the process. If the problem is a crash, WinDbg should become active. In the WinDbg command prompt, type the command:

.dump /mdhiptu c:\va_problem.dmp

and then press Enter.

To close the IDE, select the "Stop Debugging" command from the Debug menu (Shift+F5).

To set the IDE running and detach the debugger, use the "Detach Debuggee" command from the Debug menu.

Windows Error Reporting

Windows Vista or newer

Windows Vista SP1 and Windows 7 can be configured so that Windows Error Reporting (WER) will save out a dump file when it detects an application crash. This is detailed here:

http://msdn.microsoft.com/en-us/library/bb787181%28VS.85%29.aspx

ProcDump

ProcDump from SysInternals is a small command line utility that can save a minidump from any running IDE. You can download ProcDump from:

http://technet.microsoft.com/en-us/sysinternals/dd996900.aspx

Use procdump.exe instead of procdump64.exe, even on a 64-bit OS since Visual Studio is a 32-bit process.

Example commands to grab and save a dump using ProcDump:

1) From Visual Studio 2010 to vs2010_error_message.dmp in the current directory:

procdump.exe devenv.exe vs2010_error_message.dmp

2) From Visual Studio 2008 when the process CPU usage hits 50% relative to a single core for 2 seconds, and save to vs2008_load_sol.dmp* in the current directory:

procdump.exe -c 50 -u -s 2 devenv.exe vs2008_load_sol.dmp

3) From Visual C++ 6.0 when the IDE hangs (does not respond to window messages for at least 5 seconds), and save to c:\vc6_hang.dmp*:

procdump.exe -h msdev.exe vc6_hang.dmp

4) From Visual Studio 2003 when the IDE terminates, and save to vs2003_exit.dmp* in the current directory:

procdump.exe -t devenv.exe vs2003_exit.dmp

Submit a minidump file

Zip your minidump file and attach it to a request for assistance. If applicable, include your support case number or the TOPIC_ID from the URL of your forum post.

http://www.wholetomato.com/support/contact.asp