Traps

Dr. Watson
On Windows® systems, the Dr. Watson tool can supply useful information in the event of an operating system trap. It attempts to produce a stack of trace exceptions. Dr. Watson is the program error debugger supplied with Windows. Refer to the product documentation for full instructions on how to install and use it. What follows is an example of how to run Dr. Watson and use the information supplied.
  1. Run file %windir%\system32\drwtsn32.exe. This opens a window that allows you to configure Dr. Watson.
    • The log file path defaults to %windir%.
    • A crash dump is a binary system dump, and can be large. Clear the Create Crash Dump File check box if you do not want a binary system dump.
  2. Leave Dr. Watson running, and recreate the trap scenario.
  3. When a window appears saying that a trap has occurred, press cancel to debug the application.
  4. Click OK when prompted, to create the log file.
  5. You can now open the log file (drwtsn32.log) to determine which process trapped.
  6. Near the top of the log are entries that give the process id (pid) of the trapping process:
    *----> System Information <----*
    Application exception occurred: 
    App:  (pid=253)
    When: 11/4/2000 @ 15:16:40.618
    Exception number: c0000005 (access violation)
    If the file that trapped contains debug symbols, the application exception occurred section also contains the process name. If not, then you can cross-reference the pid given to the processes in the task list section to find the name of the process. In the example above the task list contains the following entries:
      *----> Task List <----*
      0 Idle.exe
      2 System.exe
    ......
    ......
    251 CICSCLI.exe
    253 CCLCLNT.exe
    241 CCLSERV.exe
    146 DRWTSN32.exe
      0 _Total.exe
    In this example pid 253 is CCLCLNT, the Client daemon process.
  7. A trap in CCLCLNT, CICSCLI or cicsterm may indicate a problem with the Client daemon, or with an API that the Client daemon uses. For example, a trap can occur in a Windows API call, or a SNA API call that the Client daemon references.
  8. If the trap is in a user application process it may be a user error. It is only a Client daemon problem if the trap occurred in the Client daemon .DLL address space. The Client daemon dynamic link libraries are cclapi32.dll and cclipc.dll. If the problem occurred in the user application's .EXE address space it is a problem with the user application.
  9. If a trap is a Client daemon problem, the IBM® service groups need a Dr. Watson log of the failure.
  10. The task list shows which tasks were running at the time the trap occurred, and shows which address of memory they were loaded into. You can cross-reference this with the fault address to work out which file the trap occurred in.