Unhandled exceptions are caught by the Visual Studio JIT debugger instead of Dr. Watson or a third-party debugger after you install certain versions of SQL Server 2005


Symptoms


Consider the following scenario:
  • You use the Dr. Watson program or a third-party debugger to catch unhandled exceptions that may occur when a program is running.
  • You install one of the following Microsoft products:
    • SQL Server 2005 Standard Edition
    • SQL Server 2005 Developer Edition
    • SQL Server 2005 Enterprise Edition
    • SQL Server 2005 Workgroup Edition
    • Any product that contains one of the previously listed products
      (For example, you install Microsoft Windows Small Business Server 2003 R2 Premium Edition.)
In this scenario, later unhandled exceptions are caught by the Microsoft Visual Studio just-in-time (JIT) debugger. For example, if a Data Execution Prevention (DEP) exception occurs, a dialog box appears that requires user intervention to either start JIT debugging or ignore the exception.

Cause


This issue occurs because the SQL Server 2005 installation process calls the Visual Studio installation process. The Visual Studio installation process changes the default application debugger to the Visual Studio JIT debugger. This change occurs regardless of which debugger you previously used. You do not receive any notification that this change has occurred.

Resolution


To resolve this issue, use either of the following methods. Use the method that is more appropriate for your situation.

Method 1: Re-enable the Dr. Watson program to catch unhandled exceptions

You can re-enable the Dr. Watson program to catch unhandled exceptions. After you do this, the Visual Studio JIT debugger will no longer catch unhandled exceptions. To do this, follow these steps:
  1. Click Start, click Run, type cmd, and then click OK.
  2. Type the following command, and then press ENTER:
    drwtsn32 -i

Method 2: Re-enable a third-party debugger to catch unhandled exceptions

Important This section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, click the following article number to view the article in the Microsoft Knowledge Base:
322756 How to back up and restore the registry in Windows


If you were previously using a third-party debugger to catch unhandled exceptions, you can re-enable it. After you do this, the Visual Studio JIT debugger will no longer catch unhandled exceptions. To do this, follow these steps:
  1. In a text editor such as Notepad, paste the following text. Paste only the text that is appropriate for the operating system.
    • 32-bit operating system
      Windows Registry Editor Version 5.00

      [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug]
      "Auto"="1"
      "Debugger"="<DebuggerParameters>"
    • 64-bit operating system
      Windows Registry Editor Version 5.00

      [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug]
      "Auto"="1"
      "Debugger"="<DebuggerParameters>"

      [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\AeDebug]
      "Auto"="1"
      "Debugger"="<DebuggerParameters>"

  2. Replace the <DebuggerParameters> text with the correct values and parameters to start your debugger. See your debugger product documentation for more information.
  3. On the File menu, click Save.
  4. In the File name list, type debugger.reg.
  5. In the Save in list, locate the folder where you want to save the Debugger.reg file, and then click Save.
  6. Exit the text editor.
  7. Locate and then double-click the debugger.reg file that you saved in step 5.
  8. Click Yes when you are prompted.

    Important Your debugger may require additional steps to re-enable it. See your debugger product documentation for more information.

More Information


For more information about the Visual Studio dialog box that appears when an unhandled exception occurs, visit the following Microsoft Developer Network (MSDN) Web site:For more information about how to enable and disable Dr. Watson for Windows, click the following article number to view the article in the Microsoft Knowledge Base:
188296 How to disable Dr. Watson for Windows
For more information about how to enable JIT-attach debugging in the Microsoft .NET Framework, visit the following MSDN Web site:
The third-party products that this article discusses are manufactured by companies that are independent of Microsoft. Microsoft makes no warranty, implied or otherwise, regarding the performance or reliability of these products.