Click to open or copy the files for the DrWatson sample.
Click to open or copy the Bin directory (required).
Click to open or copy the Include directory (required).
The DrWatson tool is an application error debugger. It traps application errors and logs diagnostic information.
The information obtained and logged by DrWatson is the information needed by technical support groups to diagnose application errors. The Drwtsn32.log log file is created in the form of an electronic text file that can be delivered to support personnel by whatever method they prefer.
To start DrWatson when no error has occurred, type DRWTSN32 at the command prompt or select the file from File Manager or Windows Explorer.
This sample uses the following keywords:
_getcwd; _makepath; _splitpath; _stricmp; _vsnprintf; addnumber; addstring; adjusttokenprivileges; alloctctx; appendmenu; assert; asserterror; atoi; atol; attachtoactiveprocess; bit20; bit53; bit76; browsefordirectory; browsehookproc; calloc; callwindowproc; cleareventlog; closeeventlog; closehandle; closelogfile; containing_record; continuedebugevent; controlwndproc; crashdumpcallback; createdialog; createdumpfile; createfile; createsemaphore; createthread; debugactiveprocess; debugbreak; debugeventtothreadcontext; defdlgproc; defined; defwindowproc; deregistereventsource; dialogbox; dialogboxparam; didomodrm; disasm; dispatchdebugeventthread; dmpcreateuserdump; domemoryread; dprintf; drwatsonwinmain; dumphookproc; dumpsymbols; elclearallevents; elenumcrashes; elsavecrash; enablewindow; enddialog; enumchildproc; enumchildwindows; enumcrashes; enumcrashesforviewer; err; error; exitprocess; expandenvironmentstrings; expandpath; fatalerror; formatmessage; free; getappname; getcommandline; getcommandlineargs; getcomputername; getcontextforthread; getcurrentprocess; getdc; getdialogvalues; getdlgctrlid; getdlgitem; getdlgitemtext; getdumpfilename; getdword; getenv; getexceptiontext; getfileattributes; getfocus; gethelpfilename; getkeystate; getlasterror; getlocaltime; getlogfiledata; getmodulefilename; getmodulehandle; getnextoffset; getopenfilename; getparent; getpriorityclass; getregflagvalue; getregvalue; getsavefilename; getsegregvalue; getstockobject; getstring; getsymbolsearchpath; getsysteminfo; getsystemmenu; gettasklist; gettaskname; getteb; gettextextentpoint; gettextmetrics; getthreadcontext; getthreadpriority; getusername; getversion; getwavefilename; getwindowlong; getword; hthread; initializecrashlist; initializedialog; initializelisthead; inserttaillist; isdialogmessage; isdigit; isdlgbuttonchecked; isprint; loadcursor; loadicon; loadrcstring; loadstring; localalloc; localfree; logdisassembly; logfileviewerdialogproc; logstackdump; logstackwalk; logsysteminformation; logtasklist; lookupprivilegevalue; lpenumfunc; lprintf; lprintfs; makeintresource; makelangid; makelogfilename; malloc; max; memcpy; memmove; memset; messagebeep; messagebox; min; nonfatalerror; notifywinmain; openeventlog; openlogfile; openprocess; openprocesstoken; opensemaphore; outputallregs; outputdebugstring; outputhexaddr; outputhexcode; outputhexstring; outputhexvalue; outputstring; outputsymbol; pack; pc; playsound; postmortemdump; postquitmessage; printf; processcreateprocess; processcreatethread; processexitthread; processloaddll; processmoduleload; readeventlog; readfile; readprocessmemory; realloc; regclosekey; regcreateeventsource; regcreatekeyex; reggetallvalues; reggetappkey; reggetnumcrashes; reginitialize; reginitializedefaults; reginstalldrwatson; registerclass; registereventsource; reglogcurrentversion; reglogprocessortype; regopenkeyex; regquerybool; regquerydword; regquerysz; regqueryvalueex; regsave; regsaveallvalues; regsetbool; regsetdword; regsetexpandsz; regsetnumcrashes; regsetsz; regsetvalueex; releasedc; releasesemaphore; removeentrylist; reportevent; resumethread; save_ebp; save_trap; selectobject; senddlgitemmessage; sendmessage; setdlgitemtext; seterrormode; setevent; setfaultingcontext; setfilepointer; setfocus; setfocustocurrentcontrol; setforegroundwindow; setthreadcontext; settimer; setwindowlong; setwindowtext; shellabout; showwindow; skipoverbreakpoint; sleep; sprintf; sscanf; st; stackwalk; strcat; strcmp; strcpy; strncpy; subclasscontrols; suspendthread; swfunctiontableaccess; swgetmodulebase; switch; swreadprocessmemory; swtranslateaddress; symbolenumfunc; symenumeratesymbols; symfunctiontableaccess; symgetmoduleinfo; symgetsymfromaddr; syminitialize; symloadmodule; symsetsearchpath; sysinfothread; terminateprocess; terminatethread; terminationthread; tolower; trap_edited; trap_tss; updatewindow; va_start; virtualalloc; virtualfree; virtualqueryex; waitfordebugevent; waitforsingleobject; wavehookproc; waveoutgetnumdevs; widechartomultibyte; winhelp; writefile; wsprintf; zeromemory