DEBUGGER DECTPU provides a debugger called TPU$DEBUG , stored in SYS$SHARE:TPU$DEBUG.TPU, or you can use a debug file of your own. To invoke DECTPU with the debugger, use /DEBUG and optionally specify the debug file you want to use. DECTPU then executes the file containing the debugger before executing either TPU$INIT_PROCEDURE or the file specified with the /COMMAND qualifier. For more information, see DCL HELP on EDIT/TPU/DEBUG. When you use TPU$DEBUG.TPU, DECTPU places the debugger window on the screen. To set a breakpoint in the file you are debugging, press DO and issue debugger command SET BREAKPOINT followed by the name of the procedure where the breakpoint is to be set. For example, if you wanted to set a breakpoint at the procedure FUM, you would issue the following command: SET BREAKPOINT fum After setting a breakpoint, use the command GO to switch control of execution from the debugger program to DECTPU. You also use the GO command to look at the code you are debugging before setting breakpoints. The screen displays the file you specified on the DCL command line, and EVE commands are available. To return to the debugger so you can set breakpoints, use the command DEBUG at the EVE command line. To compile all code in the buffer, use the EVE command EXTEND ALL. To execute a procedure after compilation, use the EVE command TPU. When DECTPU encounters the first breakpoint in the session, the code you are debugging has not yet been placed in the debugger's source buffer. The debugger prompts for the name of the file containing your code. Using your response, the debugger places your code in its source buffer. Once you have set breakpoints, compiled code, and started execution, you can use following commands for debugging: ATTACH [process] Suspends the current editing session and transfers control to another active process or subprocess. (See EVE help on ATTACH.) CANCEL BREAKPOINT procedure-name Cancels a breakpoint set with the SET BREAKPOINT command. DEPOSIT variable := expression Lets you set the value of global variables, local variables, and formal parameters. DISPLAY SOURCE Clears text from the screen after use of the HELP or SHOW BREAKPOINTS command. Causes the source display area to display your code. By default, TPU$DEBUG.TPU defines CTRL/Z as DISPLAY SOURCE. EXAMINE variable Displays the current contents of global and local variables, global constants, formal parameters of the procedure that has been interrupted, and variables local to that procedure. Local constants cannot be examined. GO Causes the debugger to relinquish control of execution until it is invoked again by a breakpoint, by the DEBUG command, or by the DEBUGON procedure. HELP Lists available debugger command and keypad bindings. QUIT Quits the debugger. SCROLL [-] number-of-lines Scrolls text in the source display area by the specified number of lines. To scroll back through the code in the display area, use a negative value. a negative number of lines. To scroll forward by one line less than the number of lines in the display window, press NEXT SCREEN or GOLD/DOWN arrow. To scroll back in the same way, press PREV SCREEN or GOLD/UP arrow. SET BREAKPOINT procedure-name Invokes the debugger when the specified procedure is executed. SET WINDOW top-line-number, length Puts the top of the debugger window at the line number specified and extends the window down by the second number specified. The default length is 7 lines. The minimum length is 3 lines. The SET WINDOW command only changes the size of the source display area. The output area and command line always occupy exactly one line. SHIFT [-] number-of-columns Moves the source display window left or right across the source code to display text wider than the screen. To move left, press GOLD/LEFT arrow, then enter the number of columns to move. To move right, press GOLD/RIGHT arrow, then enter the number of columns to move. SHOW BREAKPOINTS Lists the current breakpoints in the debugger source window. To re-display code in the source window, use the DISPLAY SOURCE command. SPAWN [command-string] Suspends the current editing session and creates a subprocess. (See EVE help on SPAWN.) STEP Executes one line of DECTPU code, then returns control to the debugger. If you have several DECTPU statements on one line, all statements are executed before control returns to the debugger. TPU statement Executes the DECTPU statement you specify. (See help on TPU.) Related Topics DEBUG_LINE SET(DEBUG)