Just-In-Time debugging is trickier on Windows Vista than on previous operating systems. Today I am going to talk about the various knobs that you can use to make this better.
Hint #1: Use Visual Studio 2008 Beta2. I expect Beta2 to be out soon. If you are developing on Windows Vista, I definitely recommend trying Beta2 over previous versions of Visual Studio. While it is still a beta, Visual Studio 2008 greatly improves the Vista experience (at least for the debugger). As far as Just-In-Time debugging goes, the fact that you can’t debug elevated processes was a big problem for Visual Studio 2005.
Hint #2: If you get a Windows Error reporting dialog for your application and there is no ‘Debug’ button, then click ‘Send Report’ and then you will get a second dialog with a debug button.
Hint #3: Windows Error reporting has several configuration settings. If you are finding that Windows Error Reporting is preventing you from debugging your applications, there are a few settings that you can tweak.
First, you can define the ‘AeDebug\Auto’ string:
Note that this is a String value, NOT a DWORD.
If this doesn’t work, Error reporting can also be disabled at various levels through control panel:
- Start->Control Panel
- Click ‘System and Maintenance’
- Click ‘Problem Reports and Solutions’
- Click the ‘Change Settings’ link on the left side
- Click the ‘Advanced settings’ link
- Configure at will
Hope this helps.
[Updated on 5/23/2008] In Vista SP1 and Windows Server 2008, there is now a registry key to save the generated .dmp file: http://msdn.microsoft.com/en-us/library/bb787181(VS.85).aspx