Entering the Debugger (Monitor Debugger)

The debugger can be entered:

  • voluntarily by pressing BREAK on a D3 process, which is started with the -D option, to enable the monitor debugger.

  • voluntarily by setting a monitor trace on real or virtual memory.

  • voluntarily by setting a monitor breakpoint in virtual memory.

  • following a system abort. When a serious system abort occurs, the debugger is entered. The user cannot continue from such a condition.

  • following a monitor halt. When a process cannot continue execution, a halt is executed. This does not affect the other processes. The faulty process enters the monitor debugger and waits. Perform these steps:

    1. Type x to display the hardware registers and send them to Customer Support.

    2. Type g to restart the process. If the process aborts again, type logoff and/or reset-user from another terminal before entering g again. If this fails, type q.

  • by pressing BREAK five times (in 6 seconds or less) on line 0 when the system does not respond (the system is stuck in a tight loop in a semaphore dead lock or line 0 comatized). When a semaphore is left hanging or when the processor enters a short tight loop due to an ABS corruption, the process does not respond any more and is incapable of going to the Virtual Debugger. The fifth time the BREAK key is pressed, the signal handler checks to see if the first occurrence of the break was serviced normally. If it is not, the debugger is entered. On a busy system, it might be necessary to press BREAK several times to get to the monitor debugger.

  • by pressing BREAK on line 0, when it waits for a system lock (overflow lock, spooler lock, and so on) for more than approximately 5 seconds.

The different causes of entry in the debugger display a message on entry and a special prompt:

Condition Message Prompt
BREAK key on line    
Started with -D <BRK> B!
System abort <ABT> A!
Monitor trace <TRC> addr C!
Breakpoint <BPT> bp# I!
Monitor halt <HLT> code H!
BREAK key on line 0    
On tight loop <TLP> !
BREAK key on line 0    
On virtual lock <VLK> V!