Related commands:
#1
DBG> GO ... 'Normal successful completion' DBG>
#2This command starts program execution, which then completes successfully.
DBG> SET BREAK RESTORE DBG> GO ! start execution ... break at routine INVENTORY\RESTORE 137: procedure RESTORE; DBG> GO ! resume execution ...
#3In this example, the SET BREAK command sets a breakpoint on routine RESTORE. The first GO command starts program execution, which is then suspended at the breakpoint on routine RESTORE. The second GO command resumes execution from the breakpoint.
DBG> GO %LINE 42
This command resumes program execution at line 42 of the module in which execution is currently suspended.
Displays online help on debugger commands and selected topics.
Note
This command is not available in the DECwindows Motif interface to the debugger. Help on commands is available from the Help menu in a DECwindows debugger window.
HELP topic [subtopic [...]]
topic
Specifies the name of a debugger command or topic about which you want help. You can specify the asterisk (*) wildcard character, either singly or within a name.subtopic
Specifies a subtopic, qualifier, or parameter about which you want further information. You can specify the asterisk wildcard (*), either singly or within a name.
The debugger's online help facility provides the following information about any debugger command, including a description of the command, its format, explanations of any parameters that can be specified with the command, and explanations of any qualifiers that can be specified with the command.To get information about a particular qualifier or parameter, specify it as a subtopic. If you want information about all qualifiers, specify "qualifier" as a subtopic. If you want information about all parameters, specify "parameter" as a subtopic. If you want information about all parameters, qualifiers, and any other subtopics related to a command, specify an asterisk (*) as a subtopic.
In addition to help on commands, you can get online help on various topics such as screen features, keypad mode, and so on. Topic keywords are listed along with the commands when you type HELP.
For summary information about new features with this release of the debugger, type HELP New_Features.
For help on the predefined keypad-key functions, type Help Keypad_Definitions_CI. Also, use the SHOW KEY command to determine the current key definitions.
DBG> HELP GO
This command displays help for the GO command.
Executes a sequence of commands if a language expression (Boolean expression) is evaluated as true.
IF Boolean-expression THEN (command[;...])
[ELSE (command[;...])]
Boolean-expression
Specifies a language expression that evaluates as a Boolean value (true or false) in the currently set language.command
Specifies a debugger command. If you specify more than one command, you must separate the commands with semicolons (;).
The IF command evaluates a Boolean expression. If the value is true (as defined in the current language), the command list in the THEN clause is executed. If the expression is false, the command list in the ELSE clause (if any) is executed.Related commands:
- EXITLOOP
- FOR
- REPEAT
- WHILE
DBG> SET BREAK R DO (IF X .LT. 5 THEN (GO) ELSE (EXAMINE X))
This command causes the debugger to suspend program execution at location R (a breakpoint) and then resume program execution if the value of X is less than 5 (Fortran example). If the value of X is 5 or more, its value is displayed.
Displays the current value of a program variable or language expression in the monitor view of the DECwindows Motif interface.
Note
Requires the DECwindows Motif interface.
MONITOR expression
expression
Specifies an entity to be monitored. With high-level languages, this is typically the name of a variable. Currently, MONITOR does not handle composite expressions (language expressions containing operators).If you specify the name of an aggregate variable (a composite data structure such as an array or record structure), the monitor view lists "Aggregate" for the value of the variable. You can then double-click on the variable name to get the values of all the elements (see Section 10.5.4.1).
To specify an individual array element, array slice, or record component, follow the syntax of the current language.
/ASCIC
/AC
Interprets each monitored entity as a counted ASCII string preceded by a 1-byte count field that gives the length of the string. The string is then displayed./ASCID
/AD
Interprets each monitored entity as the address of a string descriptor pointing to an ASCII string. The CLASS and DTYPE fields of the descriptor are not checked, but the LENGTH and POINTER fields provide the character length and address of the ASCII string. The string is then displayed./ASCII:n
Interprets and displays each monitored entity as an ASCII string of length n bytes (n characters). If you omit n, the debugger attempts to determine a length from the type of the address expression./ASCIW
/AW
Interprets each monitored entity as a counted ASCII string preceded by a 2-byte count field that gives the length of the string. The string is then displayed./ASCIZ
/AZ
Interprets each monitored entity as a zero-terminated ASCII string. The ending zero byte indicates the end of the string. The string is then displayed./BINARY
Displays each monitored entity as a binary integer./BYTE
Displays each monitored entity in the byte integer type (length 1 byte)./D_FLOAT
(VAX only) Displays each monitored entity in the D_floating type (length 8 bytes)./DATE_TIME
Interprets each monitored entity as a quadword integer (length 8 bytes) containing the internal OpenVMS representation of date and time. Displays the value in the format dd-mmm-yyyy hh:mm:ss.cc./DECIMAL
Displays each monitored entity as a decimal integer./DEFAULT
Displays each monitored entity in the default radix./EXTENDED_FLOAT
(Alpha only) Displays each monitored entity in the IEEE X_floating type (length 16 bytes)./FLOAT
On VAX processors, displays each monitored entity in the F_floating type (length 4 bytes).On Alpha processors, displays each monitored entity in the IEEE T_floating type (double precision, length 8 bytes).
/F_FLOAT
(VAX only) Displays each monitored entity in the F_floating type (length 4 bytes)./G_FLOAT
Displays each monitored entity in the G_floating type (length 8 bytes)./H_FLOAT
(VAX only) Displays each monitored entity in the H_floating type (length 16 bytes)./HEXADECIMAL
Displays each monitored entity as a hexadecimal integer./INSTRUCTION
Displays each monitored entity as an assembly-language instruction (variable length, depending on the number of instruction operands and the kind of addressing modes used). See also the /OPERANDS qualifier./INT
Same as /LONGWORD qualifier./LONG_FLOAT
(Alpha only) Displays each monitored entity in the IEEE S_floating type (single precision, length 4 bytes)./LONG_LONG_FLOAT
(Alpha only) Displays each monitored entity in the IEEE T_floating type (double precision, length 8 bytes)./LONGWORD
/INT
/LONG
Displays each monitored entity in the longword integer type (length 4 bytes). This is the default type for program locations that do not have a compiler-generated type./OCTAL
Displays each monitored entity as an octal integer./OCTAWORD
Displays each monitored entity in the octaword integer type (length 16 bytes)./QUADWORD
Displays each monitored entity in the quadword integer type (length 8 bytes)./REMOVE
Removes a monitored item or items with the address expression specified from the Monitor View./SHORT
Same as /WORD qualfier./TASK
Applies to tasking (multithread) programs. Interprets each monitored entity as a task (thread) object and displays the task value (the name or task ID) of that task object. When monitoring a task object, use /TASK only if the programming language does not have built-in tasking services./WORD
/SHORT
Displays each monitored entity in the word integer type (length 2 bytes).
You can use the MONITOR command only with the debugger's DECwindows Motif interface, because the output of that command is directed at the monitor view. With the command interface, you typically use the EVALUATE, EXAMINE or SET WATCH command instead.The MONITOR command does the following:
- Displays the monitor view (if it is not already displayed by a previous MONITOR command).
- Puts the name of the specified variable or expression and its current value in the monitor view.
The debugger updates the monitor view whenever the debugger regains control from the program, regardless of whether the value of the variable or location you are monitoring has changed. (By contrast, a watchpoint halts execution when the value of the watched variable changes.)
For more information about the monitor view and the MONITOR command, see Section 10.5.4.
Related commands:
- DEPOSIT
- EVALUATE
- EXAMINE
- SET WATCH
DBG> MONITOR COUNT
This command displays the name and current value of the variable COUNT in the monitor view of the debugger's DECwindows Motif interface. The value is updated whenever the debugger regains control from the program.
Moves a screen display vertically or horizontally across the screen.
Note
This command is not available in the DECwindows Motif interface to the debugger.
MOVE [display-name[,...]]
display-name
Specifies a display to be moved. You can specify any of the following entities:
- A predefined display:
- SRC
- OUT
- PROMPT
- INST
- REG
- FREG (Alpha only)
- IREG
- A display previously created with the DISPLAY command
- A display built-in symbol:
- %CURDISP
- %CURSCROLL
- %NEXTDISP
- %NEXTINST
- %NEXTOUTPUT
- %NEXTSCROLL
- %NEXTSOURCE
If you do not specify a display, the current scrolling display, as established by the SELECT command, is chosen.
/DOWN[:n]
Moves the display down by n lines (if n is positive) or up by n lines (if n is negative). If you omit n, the display is moved down by 1 line./LEFT[:n]
Moves the display to the left by n lines (if n is positive) or right by n lines (if n is negative). If you omit n, the display is moved to the left by 1 line./RIGHT[:n]
Moves the display to the right by n lines (if n is positive) or left by n lines (if n is negative). If you omit n, the display is moved to the right by 1 line./SUFFIX[=process-identifier-type]
Applies to a multiprocess debugging configuration (when DBG$PROCESS has the value MULTIPROCESS). Appends a process-identifying suffix to a display name. Use this qualifier only directly after a display name. The suffix denotes the visible process at the time the command was issued.The /SUFFIX qualifier is used primarily in command procedures when you specify display definitions or key definitions that are bound to display definitions.
Use any of the following process-identifier-type keywords:
PROCESS_NAME The display-name suffix is the process name. PROCESS_NUMBER The display-name suffix is the process number (as shown in a SHOW PROCESS display). PROCESS_PID The display-name suffix is the process identifier (PID). If you specify /SUFFIX without a process-identifier-type keyword, the process identifier type used for the display-name suffix is, by default, the same as that used for the prompt suffix (see the SET PROMPT/SUFFIX command).
/UP[:n]
Moves the display up by n lines (if n is positive) or down by n lines (if n is negative). If you omit n, the display is moved up by 1 line.
You must specify at least one qualifier.For each display specified, the MOVE command simply creates a window of the same dimensions elsewhere on the screen and maps the display to it, while maintaining the relative position of the text within the window.
The MOVE command does not change the order of a display on the display pasteboard. Depending on the relative order of displays, the MOVE command can cause the display to hide or uncover another display or be hidden by another display, partially or totally.
A display can be moved only up to the edge of the screen.
For a list of the keypad-key definitions associated with the MOVE command, type Help Keypad_Definitions_CI. Also, use the SHOW KEY command to determine the current key definitions.
Related commands:
- DISPLAY
- EXPAND
- SELECT/SCROLL
- (SET,SHOW) TERMINAL
#1
DBG> MOVE/LEFT
#2This command moves the current scrolling display to the left by 1 column.
DBG> MOVE/UP:3/RIGHT:5 NEW_OUT
This command moves display NEW_OUT up by 3 lines and to the right by 5 columns.
Ends a debugging session, or terminates one or more processes of a multiprocess program (like EXIT), but without allowing any application-declared exit handlers to run. If used within a command procedure or DO clause and no process is specified, it exits the command procedure or DO clause at that point.
QUIT [process-spec[,...]]
process-spec
This parameter applies to a multiprocess debugging configuration (when DBG$PROCESS has the value MULTIPROCESS).Specifies a process currently under debugger control. Use any of the following forms:
[%PROCESS_NAME] proc-name The process name, if that name contains no space or lowercase characters. The process name can include the asterisk (*) wildcard character. [%PROCESS_NAME] " proc-name" The process name, if that name contains space or lowercase characters. You can also use apostrophes (') instead of quotation marks ("). %PROCESS_PID proc-id The process identifier (PID, a hexadecimal number). %PROCESS_NUMBER proc-number
(or %PROC proc-number)The number assigned to a process when it comes under debugger control. Process numbers appear in a SHOW PROCESS display. proc-group-name A symbol defined with the DEFINE/PROCESS_GROUP command to represent a group of processes. Do not specify a recursive symbol definition. %NEXT_PROCESS The process after the visible process in the debugger's circular process list. %PREVIOUS_PROCESS The process previous to the visible process in the debugger's circular process list. %VISIBLE_PROCESS The process whose call stack, register set, and images are the current context for looking up symbols, register values, routine calls, breakpoints, and so on. You can also use the asterisk (*) wildcard character to specify all processes.
The QUIT command is like the EXIT command, except that QUIT does not cause your program to execute and, therefore, does not execute any application-declared exit handlers in your program.Ending a Debugging Session
To end a debugging session, enter the QUIT command at the debugger prompt without specifying any parameters. This causes orderly termination of the session: the debugger exit handler is executed (closing log files, restoring the screen and keypad states, and so on), and control is returned to DCL level. You cannot then continue to debug your program by entering the DCL command DEBUG or CONTINUE (you must restart the debugger).
Using the QUIT Command in Command Procedures and DO Clauses
When the debugger executes a QUIT command (without any parameters) in a command procedure, control returns to the command stream that invoked the command procedure. A command stream can be the terminal, an outer (containing) command procedure, or a DO clause in a command or screen display definition. For example, if the command procedure was invoked from within a DO clause, control returns to that DO clause, where the debugger executes the next command (if any remain in the command sequence).
When the debugger executes a QUIT command (without any parameters) in a DO clause, it ignores any remaining commands in that clause and displays its prompt.
Terminating Specified Processes
If you are using the multiprocess debugging configuration to debug a multiprocess program (if the logical name DBG$PROCESS has the value MULTIPROCESS), you can use the QUIT command to terminate specified processes without ending the debugging session. The same techniques and behavior apply, whether you enter the QUIT command at the prompt or use it within a command procedure or DO clause.
To terminate one or more processes, enter the QUIT command, specifying these processes as parameters. This causes orderly termination of the images in these processes without executing any application-declared exit handlers associated with these images. Subsequently, the specified processes are no longer identified in a SHOW PROCESS/ALL display.
In contrast to the EXIT command, the QUIT command does not cause any process to start execution.
Related commands:
- DISCONNECT
- @ (Execute Procedure)
- Ctrl/C
- Ctrl/Y
- Ctrl/Z
- EXIT
- RERUN
- RUN
- SET ABORT_KEY
- SET PROCESS
#1
DBG> QUIT $
#2This command ends the debugging session and returns you to DCL level.
JONES_1> QUIT %NEXT_PROCESS, %PROCESS_NAME JONES_3, %PROC 5 JONES_1>
This command causes orderly termination of three processes of a multiprocess program: the process after the visible process on the process list, process JONES_3, and process 5. Control is returned to the debugger after the specified processes have exited.
When debugging Alpha operating system code with the OpenVMS Alpha System-Code Debugger, reboots the target machine running the Alpha operating system code and executes (or reexecutes) your system program.The REBOOT command, in other words, is similar to the RUN or RERUN commands when you are within the OpenVMS Alpha System-Code Debugger environment. (The OpenVMS Alpha System-Code Debugger is a kernel debugger that is activated through the OpenVMS Debugger.)
Before you issue this command, you must have completed the instructions described in the Writing OpenVMS Alpha Device Drivers in C manual. These instructions include the creation of an Alpha device driver, the setup commands activating the OpenVMS Alpha System-Code Debugger, and the CONNECT command that allows you to debug.
You must also have started the OpenVMS Debugger with the DEBUG/KEEP command.
REBOOT
For complete information on using the OpenVMS Alpha System-Code Debugger, see the Writing OpenVMS Alpha Device Drivers in C manual.Related commands:
- CONNECT
- DISCONNECT
#1
DBG> REBOOT
This command reboots the target machine where you will be debugging the OpenVMS Alpha operating system and reruns your program.
Executes a sequence of commands a specified number of times.
REPEAT language-expression DO (command[;...])
language-expression
Denotes any expression in the currently set language that evaluates to a positive integer.command
Specifies a debugger command. If you specify more than one command, you must separate the commands with semicolons (;). At each execution, the debugger checks the syntax of any expressions in the commands and then evaluates them.
The REPEAT command is a simple form of the FOR command. The REPEAT command executes a sequence of commands repetitively a specified number of times, without providing the options for establishing count parameters that the FOR command does.Related commands:
- EXITLOOP
- FOR
- WHILE
DBG> REPEAT 10 DO (EXAMINE Y; STEP)
This command line sets up a loop that issues a sequence of two commands (EXAMINE Y, then STEP) 10 times.
Reruns the program currently under debugger control.
Note
Requires that you started your debugging session with the DCL command DEBUG/KEEP and then executed the debugger RUN command. If you began your session with the DCL command RUN filespec instead, you cannot use the debugger RERUN command.
RERUN
/ARGUMENTS="arg-list"
Specifies a list of arguments. If you specify a quoted string, you might have to add quotation marks because the debugger strips them when parsing the string. If you do not specify arguments, any arguments that were specified previously when running or rerunning that program are applied, by default./HEAP_ANALYZER
(Applies only to workstation users.) Invokes the Heap Analyzer, a debugger feature that helps you understand how memory is used by your application. For more information on using the Heap Analyzer, see Chapter 11./SAVE (default)
/NOSAVE
Controls whether to save the current state (activated or deactivated) of all breakpoints, tracepoints, and static watchpoints for the next run of the program. The /SAVE qualifier specifies that their state is saved, and /NOSAVE specifies that their state is not saved. /SAVE might or might not save the state of a particular nonstatic watchpoint depending on the scope of the variable being watched relative to the main program unit (where execution restarts).
If you invoked the debugger with the DCL command DEBUG/KEEP and subsequently used the debugger RUN command to begin debugging your program, you can then use the RERUN command to rerun the program currently under debugger control.The RERUN command terminates the image you were debugging and then restarts that image under debugger control. Execution is paused at the start of the main program unit, as if you had used the debugger RUN command or the DCL command RUN/DEBUG.
The RERUN command uses the same version of the image that is currently under debugger control. To debug a different version of that program (or a different program) from the same debugging session, use the RUN command.
Related commands:
- RUN (debugger command)
- RUN (DCL command)
- (ACTIVATE,DEACTIVATE) BREAK
- (ACTIVATE,DEACTIVATE) TRACE
- (ACTIVATE,DEACTIVATE) WATCH
#1
DBG> RERUN
#2This command reruns the current program. By default, the debugger saves the current state of all breakpoints, tracepoints, and static watchpoints (activated or deactivated).
DBG> RERUN/NOSAVE
#3This command reruns the current program without saving the current state of breakpoints, tracepoints, and watchpoints---in effect, the same as using the RUN command and specifying the image name.
DBG> RERUN/ARGUMENTS="fee fii foo fum"
Previous | Next | Contents | [Home] | [Comments] | [Ordering info] | [Help]
![]()
4538P038.HTM OSSG Documentation 22-NOV-1996 13:02:30.12Copyright © Digital Equipment Corporation 1996. All Rights Reserved.