Dr. Watson (debugger)

{{Short description|Application debugger for Microsoft Windows}}

{{confused|Sherlock (software)}}

{{Infobox software

| name = Dr. Watson

| title = Dr. Watson

| logo =

| screenshot = DrWatsonWin2k.png

| caption = Dr. Watson invoked on Windows 2000

| developer = Microsoft

| released =

| discontinued =

| latest release version =

| latest release date =

| latest preview version =

| latest preview date =

| programming language =

| operating system = Microsoft Windows

| platform =

| size =

| language =

| language count =

| language footnote =

| genre = Debugger

| license = Proprietary commercial software

| website =

}}

Dr. Watson is an application debugger included with the Microsoft Windows operating system. It may be named drwatson.exe, drwtsn32.exe or dwwin.exe, 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.{{Cite web |last=Chen |first=Raymond |date=10 August 2005 |url=http://blogs.msdn.com/oldnewthing/archive/2005/08/10/449866.aspx |title=Why is Windows Error Reporting Nicknamed "Dr. Watson"? |access-date=21 May 2006 |url-status=dead |archive-url=https://web.archive.org/web/20061101210046/http://blogs.msdn.com/oldnewthing/archive/2005/08/10/449866.aspx |archive-date=1 November 2006 }} The original name of this diagnostic tool was "Sherlock".{{Cite web |last=Chen |first=Raymond |date=14 November 2005 |url=https://devblogs.microsoft.com/oldnewthing/20051114-00/?p=33353 |title=What was Dr. Watson's Original Name? |access-date=8 October 2020 }}

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 drwtsn32.log) 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".{{Cite news|title=Watcom C/C++ Gets a New Face|date=October 1994|work=BYTE|url=http://byte.com/art/9410/sec12/art5.htm|last=Grehan|first=Rick|url-status=dead|archive-url=https://web.archive.org/web/19961019202544/http://byte.com/art/9410/sec12/art5.htm|archive-date=19 October 1996|access-date=28 September 2011}}

Beginning with Windows XP, Dr. Watson (drwtsn32.exe){{Cite web |title=Description of the Dr. Watson for Windows (Drwtsn32.exe) Tool |publisher=Microsoft |url=http://support.microsoft.com/kb/308538 |url-status=dead |archive-url=https://web.archive.org/web/20130123231356/http://support.microsoft.com/kb/308538 |archive-date=23 January 2013 }} was extended with (dwwin.exe) "Problem Reports and Solutions".{{Cite web |title=Error Reporting Policies and Advanced Features |publisher=Microsoft |url=http://support.microsoft.com/servicedesks/webcasts/en/wc021303/programmingforwer.doc |format=DOC |access-date=28 September 2011 |url-status=dead |archive-url=https://web.archive.org/web/20110629220120/http://support.microsoft.com/servicedesks/webcasts/en/wc021303/programmingforwer.doc |archive-date=29 June 2011 }}

See also

References

{{Reflist}}