Dr. Watson (debugger)

Dr. Watson is an application debugger included with the Microsoft Windows operating system. It may be named,   or  , depending on the version of Windows.

Overview
The tool is named after Doctor Watson of Sherlock Holmes fame, the idea being that it would collect error information (symptoms) following a program crash. The use of the word "Watson" has since been expanded to include general end-user feedback services. The original name of this diagnostic tool was "Sherlock".

The information obtained and logged by Dr. Watson is the information needed by technical support personnel to diagnose a program error for a computer running Windows. A text file (usually ) is created whenever an error is detected, and can be delivered to support personnel by the method they prefer. A crash dump file can also be created, which is a binary file that a programmer can load into a debugger. Dr. Watson can be made to generate more exacting information for debugging purposes if the appropriate symbol files are installed and the symbol search path (environment variable) is set.

When a program error occurs in Windows, the system searches for a program error handler. A program error handler deals with errors as they arise during the running of a program. If the system does not find a program error handler, the system verifies that the program is not currently being debugged and considers the error to be unhandled. The system then processes unhandled errors by looking in the registry for a program error debugger for which Dr. Watson is the default. A third-party debugger can also be used in place of Dr. Watson. The Watcom C Compiler includes a similar crash-analysis tool named "Dr. Watcom".

Beginning with Windows XP, Dr. Watson (drwtsn32.exe) was extended with (dwwin.exe) "Problem Reports and Solutions".