Dr. Watson (debugger)

Last updated
Dr. Watson
DrWatsonWin2k.png
Dr. Watson invoked on Windows 2000
Developer(s) Microsoft
Operating system Microsoft Windows
Type Debugger
License Proprietary commercial software

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.

Contents

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. [1] The original name of this diagnostic tool was "Sherlock". [2]

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". [3]

Beginning with Windows XP, Dr. Watson (drwtsn32.exe) [4] was extended with (dwwin.exe) "Problem Reports and Solutions". [5] On some versions of Windows the older version (drwatson.exe) may be available by typing "drwatson.exe" into the command prompt box or in the 'Search programs and files' box in the Start menu in Windows 7.[ citation needed ]

See also

Related Research Articles

VBScript is an Active Scripting language developed by Microsoft that is modeled on Visual Basic. It allows Microsoft Windows system administrators to generate powerful tools for managing computers with error handling, subroutines, and other advanced programming constructs. It can give the user complete control over many aspects of their computing environment.

In computing, a core dump, memory dump, crash dump, system dump, or ABEND dump consists of the recorded state of the working memory of a computer program at a specific time, generally when the program has crashed or otherwise terminated abnormally. In practice, other key pieces of program state are usually dumped at the same time, including the processor registers, which may include the program counter and stack pointer, memory management information, and other processor and operating system flags and information. A snapshot dump is a memory dump requested by the computer operator or by the running program, after which the program is able to continue. Core dumps are often used to assist in diagnosing and debugging errors in computer programs.

The Windows API, informally WinAPI, is Microsoft's core set of application programming interfaces (APIs) available in the Microsoft Windows operating systems. The name Windows API collectively refers to several different platform implementations that are often referred to by their own names ; see the versions section. Almost all Windows programs interact with the Windows API. On the Windows NT line of operating systems, a small number use the Native API.

Crash (computing) When a computer program stops functioning properly and self-terminates

In computing, a crash, or system crash, occurs when a computer program such as a software application or an operating system stops functioning properly and exits. The program responsible may appear to hang until a crash reporting service reports the crash and any details relating to it. If the program is a critical part of the operating system, the entire system may crash or hang, often resulting in a kernel panic or fatal system error.

NTLDR is the boot loader for all releases of Windows NT operating system up to and including Windows XP and Windows Server 2003. NTLDR is typically run from the primary hard disk drive, but it can also run from portable storage devices such as a CD-ROM, USB flash drive, or floppy disk. NTLDR can also load a non NT-based operating system given the appropriate boot sector in a file.

Windows Management Instrumentation (WMI) consists of a set of extensions to the Windows Driver Model that provides an operating system interface through which instrumented components provide information and notification. WMI is Microsoft's implementation of the Web-Based Enterprise Management (WBEM) and Common Information Model (CIM) standards from the Distributed Management Task Force (DMTF).

A page fault is a type of exception raised by computer hardware when a running program accesses a memory page that is not currently mapped by the memory management unit (MMU) into the virtual address space of a process. Logically, the page may be accessible to the process, but requires a mapping to be added to the process page tables, and may additionally require the actual page contents to be loaded from a backing store such as a disk. The processor's MMU detects the page fault, while the exception handling software that handles page faults is generally a part of the operating system kernel. When handling a page fault, the operating system tries to make the required page accessible at the location in physical memory or terminates the program in cases of an illegal memory access.

Windows Registry Database for Microsoft Windows

The Windows Registry is a hierarchical database that stores low-level settings for the Microsoft Windows operating system and for applications that opt to use the registry. The kernel, device drivers, services, Security Accounts Manager, and user interface can all use the registry. The registry also allows access to counters for profiling system performance.

In computing, a non-maskable interrupt (NMI) is a hardware interrupt that standard interrupt-masking techniques in the system cannot ignore. It typically occurs to signal attention for non-recoverable hardware errors.

WinDbg is a multipurpose debugger for the Microsoft Windows computer operating system, distributed by Microsoft. Debugging is the process of finding and resolving errors in a system; in computing it also includes exploring the internal operation of software as a help to development. It can be used to debug user mode applications, device drivers, and the operating system itself in kernel mode. Like the better-known Visual Studio Debugger it has a graphical user interface (GUI), but is more powerful and has little else in common.

Fatal system error Error that stops the operating system

A fatal system error occurs when an operating system halts, because it has reached a condition where it can no longer operate safely.(i.e. where critical data could be lost or the system damaged in some other way.)

A crash reporter is usually a system software whose function is to identify reporting crash details and to alert when there are crashes, in production or on development / testing environments. Crash reports often include data such as stack traces, type of crash, trends and version of software. These reports help software developers- Web, SAAS, mobile apps and more, to diagnose and fix the underlying problem causing the crashes. Crash reports may contain sensitive information such as passwords, email addresses, and contact information, and so have become objects of interest for researchers in the field of computer security.

Windows XP introduced many features not found in previous versions of Windows.

In computing ntoskrnl.exe, also known as kernel image, provides the kernel and executive layers of the Microsoft Windows NT kernel space, and is responsible for various system services such as hardware abstraction, process and memory management, thus making it a fundamental part of the system. It contains the cache manager, the executive, the kernel, the security reference monitor, the memory manager, and the scheduler (Dispatcher).

Debug (command) Line-oriented debug utility in DOS

The line-oriented debugger DEBUG is an external command in operating systems such as DOS, OS/2 and Windows.

Microsoft Windows OS family employs some exception handling mechanisms that are based on the operating system specifics.

Windows Error Reporting

Windows Error Reporting (WER) is a crash reporting technology introduced by Microsoft with Windows XP and included in later Windows versions and Windows Mobile 5.0 and 6.0. Not to be confused with the Dr. Watson debugging tool which left the memory dump on the user's local machine, Windows Error Reporting collects and offers to send post-error debug information using the Internet to Microsoft when an application crashes or stops responding on a user's desktop. No data is sent without the user's consent. When a crash dump reaches the Microsoft server, it is analyzed, and information about a solution is sent back to the user if available. Solutions are served using Windows Error Reporting Responses. Windows Error Reporting runs as a Windows service.

Blue screen of death Error screen displayed after a fatal system error on a Windows computer

A stop error or exception error, commonly called the blue screen of death (BSoD) or blue screen, is an error screen displayed on Windows computers following a fatal system error. It indicates a system crash, in which the operating system has reached a condition where it can no longer operate safely. This is caused by many different problems, such as a general hardware failure or a crucial process terminating unexpectedly.

The command-line tool exe2bin is a post-compilation utility program available on MS-DOS and other operating systems.

ProcDump

ProcDump is a command-line application used for monitoring an application for CPU spikes and creating crash dumps during a spike. The crash dumps can then be used by an administrator or software developer to determine the cause of the spike. ProcDump supports monitoring of hung windows and unhandled exceptions. It can also create dumps based on the values of system performance counters.

References

  1. Chen, Raymond (10 August 2005). "Why is Windows Error Reporting Nicknamed "Dr. Watson"?". Archived from the original on 1 November 2006. Retrieved 21 May 2006.
  2. Chen, Raymond (14 November 2005). "What was Dr. Watson's Original Name?" . Retrieved 8 October 2020.
  3. Grehan, Rick (October 1994). "Watcom C/C++ Gets a New Face". BYTE . Archived from the original on 19 October 1996. Retrieved 28 September 2011.
  4. "Description of the Dr. Watson for Windows (Drwtsn32.exe) Tool". Microsoft. Archived from the original on 23 January 2013.
  5. "Error Reporting Policies and Advanced Features". Microsoft. Archived from the original (DOC) on 29 June 2011. Retrieved 28 September 2011.