Knowledge Base |

# Specifying the Debugger for Unhandled User Mode Exceptions

Article ID: 121434

Article Last Modified on 2/22/2007

APPLIES TO

- Microsoft Windows 2000 Server
- Microsoft Windows 2000 Advanced Server
- Microsoft Windows 2000 Professional Edition
- Microsoft Systems Management Server 2.0 Standard Edition
- Microsoft Windows NT Advanced Server 3.1
- Microsoft Windows NT Advanced Server 3.1
- Microsoft Windows NT Server 3.51
- Microsoft Windows NT Server 4.0 Standard Edition
- Microsoft Windows NT Workstation 3.1
- Microsoft Windows NT Workstation 3.5
- Microsoft Windows NT Workstation 3.51
- Microsoft Windows NT Workstation 4.0 Developer Edition

This article was previously published under Q121434
Windows NT allows you to specify a post mortem debugger for unhandled User mode exceptions. A general protection (GP) fault message is one of the many examples of a User mode exception. This allows you to see what went wrong in the code by examining where the program caused the fault, as well as the condition of registers, memory, and the stack.
By default, Windows NT used a 32-bit version of Dr. Watson as a post mortem debugger. The Dr. Watson log obtained from application users can be useful to the developers of the application in determining the cause of failure.
When the Win32 SDK is installed, the default post mortem debugger is changed to the kernel debugger. When Microsoft Visual C++ version 2.00 is installed, the default postmortem debugger is changed to the Visual C++ interface.
In order to change the default debugger for unhandled user mode exceptions, do the following:
WARNING: Using Registry Editor incorrectly can cause serious, system-wide problems that may require you to reinstall Windows NT to correct them. Microsoft cannot guarantee that any problems resulting from the use of Registry Editor can be solved. Use this tool at your own risk.

1. Start Registry Editor and locate the following Registry subkey in the HKEY_LOCAL_MACHINE subtree:
   `\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\AEDEBUG`
2. Select the Debugger value.
3. On the Edit menu, click String.
   - To use the Windows debugger, type `windbg -p %ld -e %ld`.
   - To use Visual C++ 4.2 or earlier, type `msvc -p %ld -e %ld`.
   - To use Visual C++ 5.0 or later, type `msdev.exe -p %ld -e %ld`.
   - To use Dr. Watson, type `drwtsn32.exe -p %ld -e %ld`. You can also make Dr. Watson the default debugger by running this command:drwtsn32.exe -i.
4. Choose OK and exit Registry Editor.

The new debugger is used the next time you log on.

Additional query words: NTAS Breakpoint NTS NTW debugref

Keywords: KB121434