HP PASCAL for OpenVMS User Manual HP PASCAL for OpenVMS Installation Guide HP PASCAL for OpenVMS Language Reference Manual. PATHWORKS 32. EXcursion User's Guide. Compaq TCP/IP Services for OpenVMS Concepts and Planning HP TCP/IP Services for OpenVMS Guide to SSH. HP OpenVMS Programming Concepts Manual. Previous: Contents: Index. The user, who does not need to know what system is serving the application, can function in a familiar, local environment. 1.3.3.2 OpenVMS Client/Server Capabilities. HP Pascal for OpenVMS. OpenVMS User's Manual. Previous Contents. 17, obtains information from the system, including information about system processes, batch and print queues, and user processes, and then substitutes the result of the operation for itself. 3.5.6 Abbreviating Commands.
- Hp Pascal For Openvms User Manual Online
- Hp Pascal For Openvms User Manual Download
- Hp Pascal For Openvms User Manual 2017
- Hp Pascal For Openvms User Manual Free
Begin | Index |
Contents (summary) | |
---|---|
Preface | Preface |
Part 1 | LIB$ Overview Section |
Chapter 1 | Overview of the LIB$ Facility |
Part 2 | LIB$ Reference Section |
Part 3 | CVT$ Reference Section |
Index | |
Figures | |
Tables |
Contents
Preface | |
---|---|
Preface | Preface |
Part 1 | |
Part 1 | LIB$ Overview Section |
Chapter 1 | |
1 | Overview of the LIB$ Facility |
1.1 | Run-Time Library LIB$ Routines |
1.1.1 | 64-Bit Addressing Support (Alpha and I64 Only) |
1.1.2 | The LIB$ Routines |
1.2 | Translated Version of LIB$ Facility (Alpha and I64 Only) |
1.3 | Run-Time Library CVT$ Facility |
Part 2 | |
Part 2 | LIB$ Reference Section |
Command 1 | LIB$ADAWI |
Command 2 | LIB$ADDX |
Command 3 | LIB$ADD_TIMES |
Command 4 | LIB$ANALYZE_SDESC |
Command 5 | LIB$ANALYZE_SDESC_64 (Alpha and I64 Only) |
Command 6 | LIB$ASN_WTH_MBX |
Command 7 | LIB$AST_IN_PROG |
Command 8 | LIB$ATTACH |
Command 9 | LIB$BBCCI |
Command 10 | LIB$BBSSI |
Command 11 | LIB$BUILD_NODESPEC |
Command 12 | LIB$CALLG |
Command 13 | LIB$CALLG_64 (Alpha and I64 Only) |
Command 14 | LIB$CHAR |
Command 15 | LIB$COMPARE_NODENAME |
Command 16 | LIB$COMPRESS_NODENAME |
Command 17 | LIB$CONVERT_DATE_STRING |
Command 18 | LIB$CRC |
Command 19 | LIB$CRC_TABLE |
Command 20 | LIB$CREATE_DIR |
Command 21 | LIB$CREATE_USER_VM_ZONE |
Command 22 | LIB$CREATE_USER_VM_ZONE_64 (Alpha and I64 Only) |
Command 23 | LIB$CREATE_VM_ZONE |
Command 24 | LIB$CREATE_VM_ZONE_64 (Alpha and I64 Only) |
Command 25 | LIB$CRF_INS_KEY |
Command 26 | LIB$CRF_INS_REF |
Command 27 | LIB$CRF_OUTPUT |
Command 28 | LIB$CURRENCY |
Command 29 | LIB$CVTF_FROM_INTERNAL_TIME |
Command 30 | LIB$CVTS_FROM_INTERNAL_TIME (Alpha and I64 Only) |
Command 31 | LIB$CVTF_TO_INTERNAL_TIME |
Command 32 | LIB$CVTS_TO_INTERNAL_TIME (Alpha and I64 Only) |
Command 33 | LIB$CVT_DX_DX |
Command 34 | LIB$CVT_FROM_INTERNAL_TIME |
Command 35 | LIB$CVT_TO_INTERNAL_TIME |
Command 36 | LIB$CVT_VECTIM |
Command 37 | LIB$CVT_xTB |
Command 38 | LIB$CVT_xTB_64 (Alpha and I64 Only) |
Command 39 | LIB$DATE_TIME |
Command 40 | LIB$DAY |
Command 41 | LIB$DAY_OF_WEEK |
Command 42 | LIB$DECODE_FAULT |
Command 43 | LIB$DEC_OVER |
Command 44 | LIB$DELETE_FILE |
Command 45 | LIB$DELETE_LOGICAL |
Command 46 | LIB$DELETE_SYMBOL |
Command 47 | LIB$DELETE_VM_ZONE |
Command 48 | LIB$DELETE_VM_ZONE_64 (Alpha and I64 Only) |
Command 49 | LIB$DIGIT_SEP |
Command 50 | LIB$DISABLE_CTRL |
Command 51 | LIB$DO_COMMAND |
Command 52 | LIB$EDIV |
Command 53 | LIB$EMODD |
Command 54 | LIB$EMODF |
Command 55 | LIB$EMODG |
Command 56 | LIB$EMODH |
Command 57 | LIB$EMODS (Alpha and I64 Only) |
Command 58 | LIB$EMODT (Alpha and I64 Only) |
Command 59 | LIB$EMUL |
Command 60 | LIB$ENABLE_CTRL |
Command 61 | LIB$ESTABLISH |
Command 62 | LIB$EXPAND_NODENAME |
Command 63 | LIB$EXTV |
Command 64 | LIB$EXTZV |
Command 65 | LIB$FFx |
Command 66 | LIB$FID_TO_NAME |
Command 67 | LIB$FILE_SCAN |
Command 68 | LIB$FILE_SCAN_END |
Command 69 | LIB$FIND_FILE |
Command 70 | LIB$FIND_FILE_END |
Command 71 | LIB$FIND_IMAGE_SYMBOL |
Command 72 | LIB$FIND_VM_ZONE |
Command 73 | LIB$FIND_VM_ZONE_64 (Alpha and I64 Only) |
Command 74 | LIB$FIT_NODENAME |
Command 75 | LIB$FIXUP_FLT |
Command 76 | LIB$FLT_UNDER |
Command 77 | LIB$FORMAT_DATE_TIME |
Command 78 | LIB$FORMAT_SOGW_PROT |
Command 79 | LIB$FREE_DATE_TIME_CONTEXT |
Command 80 | LIB$FREE_EF |
Command 81 | LIB$FREE_LUN |
Command 82 | LIB$FREE_TIMER |
Command 83 | LIB$FREE_VM |
Command 84 | LIB$FREE_VM_64 (Alpha and I64 Only) |
Command 85 | LIB$FREE_VM_PAGE |
Command 86 | LIB$FREE_VM_PAGE_64 (Alpha and I64 Only) |
Command 87 | LIB$GETDVI |
Command 88 | LIB$GETJPI |
Command 89 | LIB$GETQUI |
Command 90 | LIB$GETSYI |
Command 91 | LIB$GET_ACCNAM |
Command 92 | LIB$GET_ACCNAM_BY_CONTEXT |
Command 93 | LIB$GET_COMMAND |
Command 94 | LIB$GET_COMMON |
Command 95 | LIB$GET_CURR_INVO_CONTEXT (Alpha and I64 Only) |
Command 96 | LIB$GET_DATE_FORMAT |
Command 97 | LIB$GET_EF |
Command 98 | LIB$GET_FOREIGN |
Command 99 | LIB$GET_FULLNAME_OFFSET |
Command 100 | LIB$GET_HOSTNAME |
Command 101 | LIB$GET_INPUT |
Command 102 | LIB$GET_INVO_CONTEXT (Alpha and I64 Only) |
Command 103 | LIB$GET_INVO_HANDLE (Alpha and I64 Only) |
Command 104 | LIB$GET_LOGICAL |
Command 105 | LIB$GET_LUN |
Command 106 | LIB$GET_MAXIMUM_DATE_LENGTH |
Command 107 | LIB$GET_PREV_INVO_CONTEXT (Alpha and I64 Only) |
Command 108 | LIB$GET_PREV_INVO_HANDLE (Alpha and I64 Only) |
Command 109 | LIB$GET_SYMBOL |
Command 110 | LIB$GET_UIB_INFO |
Command 111 | LIB$GET_USERS_LANGUAGE |
Command 112 | LIB$GET_VM |
Command 113 | LIB$GET_VM_64 (Alpha and I64 Only) |
Command 114 | LIB$GET_VM_PAGE |
Command 115 | LIB$GET_VM_PAGE_64 (Alpha and I64 Only) |
Command 116 | LIB$I64_CREATE_INVO_CONTEXT (I64 Only) |
Command 117 | LIB$I64_FREE_INVO_CONTEXT (I64 Only) |
Command 118 | LIB$I64_GET_CURR_INVO_CONTEXT (I64 Only) |
Command 119 | LIB$I64_GET_CURR_INVO_HANDLE (I64 Only) |
Command 120 | LIB$I64_GET_FR (I64 Only) |
Command 121 | LIB$I64_GET_GR (I64 Only) |
Command 122 | LIB$I64_GET_INVO_CONTEXT (I64 Only) |
Command 123 | LIB$I64_GET_INVO_HANDLE (I64 Only) |
Command 124 | LIB$I64_GET_PREV_INVO_CONTEXT (I64 Only) |
Command 125 | LIB$I64_GET_PREV_INVO_HANDLE (I64 Only) |
Command 126 | LIB$I64_GET_UNWIND_HANDLER_FV (I64 Only) |
Command 127 | LIB$I64_GET_UNWIND_LSDA (I64 Only) |
Command 128 | LIB$I64_GET_UNWIND_OSSD (I64 Only) |
Command 129 | LIB$I64_INIT_INVO_CONTEXT (I64 Only) |
Command 130 | LIB$I64_IS_AST_DISPATCH_FRAME (I64 Only) |
Command 131 | LIB$I64_IS_EXC_DISPATCH_FRAME (I64 Only) |
Command 132 | LIB$I64_PREV_INVO_END (I64 Only) |
Command 133 | LIB$I64_PUT_INVO_REGISTERS (I64 Only) |
Command 134 | LIB$I64_SET_FR (I64 Only) |
Command 135 | LIB$I64_SET_GR (I64 Only) |
Command 136 | LIB$I64_SET_PC (I64 Only) |
Command 137 | LIB$ICHAR |
Command 138 | LIB$INDEX |
Command 139 | LIB$INIT_DATE_TIME_CONTEXT |
Command 140 | LIB$INIT_TIMER |
Command 141 | LIB$INSERT_TREE |
Command 142 | LIB$INSERT_TREE_64 (Alpha and I64 Only) |
Command 143 | LIB$INSQHI |
Command 144 | LIB$INSQHIQ (Alpha and I64 Only) |
Command 145 | LIB$INSQTI |
Command 146 | LIB$INSQTIQ (Alpha and I64 Only) |
Command 147 | LIB$INSV |
Command 148 | LIB$INT_OVER |
Command 149 | LIB$LEN |
Command 150 | LIB$LOCC |
Command 151 | LIB$LOCK_IMAGE |
Command 152 | LIB$LOOKUP_KEY |
Command 153 | LIB$LOOKUP_TREE |
Command 154 | LIB$LOOKUP_TREE_64 (Alpha and I64 Only) |
Command 155 | LIB$LP_LINES |
Command 156 | LIB$MATCHC |
Command 157 | LIB$MATCH_COND |
Command 158 | LIB$MOVC3 |
Command 159 | LIB$MOVC5 |
Command 160 | LIB$MOVTC |
Command 161 | LIB$MOVTUC |
Command 162 | LIB$MULT_DELTA_TIME |
Command 163 | LIB$MULTF_DELTA_TIME |
Command 164 | LIB$MULTS_DELTA_TIME (Alpha and I64 Only) |
Command 165 | LIB$PARSE_ACCESS_CODE |
Command 166 | LIB$PARSE_SOGW_PROT |
Command 167 | LIB$PAUSE |
Command 168 | LIB$POLYD |
Command 169 | LIB$POLYF |
Command 170 | LIB$POLYG |
Command 171 | LIB$POLYH |
Command 172 | LIB$POLYS (Alpha and I64 Only) |
Command 173 | LIB$POLYT (Alpha and I64 Only) |
Command 174 | LIB$PUT_COMMON |
Command 175 | LIB$PUT_INVO_REGISTERS (Alpha and I64 Only) |
Command 176 | LIB$PUT_OUTPUT |
Command 177 | LIB$RADIX_POINT |
Command 178 | LIB$REMQHI |
Command 179 | LIB$REMQHIQ (Alpha and I64 Only) |
Command 180 | LIB$REMQTI |
Command 181 | LIB$REMQTIQ (Alpha and I64 Only) |
Command 182 | LIB$RENAME_FILE |
Command 183 | LIB$RESERVE_EF |
Command 184 | LIB$RESET_VM_ZONE |
Command 185 | LIB$RESET_VM_ZONE_64 (Alpha and I64 Only) |
Command 186 | LIB$REVERT |
Command 187 | LIB$RUN_PROGRAM |
Command 188 | LIB$SCANC |
Command 189 | LIB$SCOPY_DXDX |
Command 190 | LIB$SCOPY_R_DX |
Command 191 | LIB$SCOPY_R_DX_64 (Alpha and I64 Only) |
Command 192 | LIB$SET_LOGICAL |
Command 193 | LIB$SET_SYMBOL |
Command 194 | LIB$SFREE1_DD |
Command 195 | LIB$SFREEN_DD |
Command 196 | LIB$SGET1_DD |
Command 197 | LIB$SGET1_DD_64 (Alpha and I64 Only) |
Command 198 | LIB$SHOW_TIMER |
Command 199 | LIB$SHOW_VM |
Command 200 | LIB$SHOW_VM_64 (Alpha and I64 Only) |
Command 201 | LIB$SHOW_VM_ZONE |
Command 202 | LIB$SHOW_VM_ZONE_64 (Alpha and I64 Only) |
Command 203 | LIB$SIGNAL |
Command 204 | LIB$SIG_TO_RET |
Command 205 | LIB$SIG_TO_STOP |
Command 206 | LIB$SIM_TRAP |
Command 207 | LIB$SKPC |
Command 208 | LIB$SPANC |
Command 209 | LIB$SPAWN |
Command 210 | LIB$STAT_TIMER |
Command 211 | LIB$STAT_VM |
Command 212 | LIB$STAT_VM_64 (Alpha and I64 Only) |
Command 213 | LIB$STOP |
Command 214 | LIB$SUBX |
Command 215 | LIB$SUB_TIMES |
Command 216 | LIB$SYS_ASCTIM |
Command 217 | LIB$SYS_FAO |
Command 218 | LIB$SYS_FAOL |
Command 219 | LIB$SYS_FAOL_64 (Alpha and I64 Only) |
Command 220 | LIB$SYS_GETMSG |
Command 221 | LIB$TPARSE/LIB$TABLE_PARSE |
Command 222 | LIB$TRAVERSE_TREE |
Command 223 | LIB$TRAVERSE_TREE_64 (Alpha and I64 Only) |
Command 224 | LIB$TRA_ASC_EBC |
Command 225 | LIB$TRA_EBC_ASC |
Command 226 | LIB$TRIM_FILESPEC |
Command 227 | LIB$TRIM_FULLNAME |
Command 228 | LIB$UNLOCK_IMAGE (Alpha and I64 Only) |
Command 229 | LIB$VERIFY_VM_ZONE |
Command 230 | LIB$VERIFY_VM_ZONE_64 (Alpha and I64 Only) |
Command 231 | LIB$WAIT |
Previous | Next | Contents | Index |
Order Number: AA-QSBJE-TE
This manual explains the features of the OpenVMS Debugger for programmers in high-level languages and assembly language.
Revision/Update Information: This manual supersedes the HP OpenVMS Debugger Manual, Version 7.2.
Software Version: OpenVMS I64 Version 8.2
OpenVMS Alpha Version 8.2
OpenVMS VAX Version 7.3
Matco maximus 3.0 user manual.
Hewlett-Packard Company
Palo Alto, California
Palo Alto, California
© Copyright 2005 Hewlett-Packard Development Company, L.P.
Confidential computer software. Valid license from HP required for possession, use or copying. Consistent with FAR 12.211 and 12.212, Commercial Computer Software, Computer Software Documentation, and Technical Data for Commercial Items are licensed to the U.S. Government under vendor's standard commercial license.
The information contained herein is subject to change without notice. The only warranties for HP products and services are set forth in the express warranty statements accompanying such products and services. Nothing herein should be construed as constituting an additional warranty. HP shall not be liable for technical or editorial errors or omissions contained herein.
Intel and Itanium are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries.
Printed in the U.S.A.
ZK4538
The HP OpenVMS documentation set is available on CD-ROM.
This document was prepared using DECdocument, Version 3.3-1b.
Contents | Index |
This manual is for programmers at all levels of experience. It covers all user interfaces of the OpenVMS Debugger:
- The command interface for terminals and workstations
- The HP DECwindows Motif for OpenVMS user interface for workstations
- The Microsoft Windows PC client interface
The OpenVMS Debugger on OpenVMS Alpha systems can access all the extended memory made available by the 64-bit processing of the OpenVMS Alpha operating system. Hence, you can examine and manipulate data in the complete 64-bit address space.
The OpenVMS Debugger has been internationalized. For Asian users, the debugger's HP DECwindows Motif for OpenVMS, command line, and screen mode user interfaces can be used with multibyte characters.
You can use the debugger to debug code only in user mode. You cannot debug code in supervisor, executive, or kernel modes.
This manual is organized as follows:
- Part 1 introduces the OpenVMS Debugger. Part 1 contains one chapter:
- Chapter 1 introduces the debugger.
- Part 2 describes the debugger's command interface. Part 2 includes the following chapters:
- Chapter 2 gets you started using the debugger.
- Chapter 3 explains how to control and monitor program execution.
- Chapter 4 explains how to examine and manipulate program data.
- Chapter 5 explains how to control access to symbols in your program.
- Chapter 6 explains how to control the display of source code.
- Chapter 7 explains how to use screen mode.
- Part 3 describes the debugger's HP DECwindows Motif for OpenVMS user interface. Part 3 includes the following chapters:
- Chapter 8 gives an overview of its HP DECwindows Motif for OpenVMS user interface features.
- Chapter 9 explains how to prepare your program for debugging and then start and end a debugging session using the HP DECwindows Motif for OpenVMS user interface.
- Chapter 10, which is organized by task, explains how to use the debugger via the HP DECwindows Motif for OpenVMS user interface.
- Part 4 describes the debugger's PC interface. Part 4 contains one chapter:
- Chapter 11 gives an overview of the debugger's PC interface.
- Part 5 describes advanced debugging topics. Part 5 includes the following chapters:
- Chapter 12, which is organized by task, explains how to use the debugger's Heap Analyzer.
- Chapter 13 explains additional convenience features, such as key definitions and other customizations.
- Chapter 14 explains some special cases, such as debugging optimized programs and multilanguage programs.
- Chapter 15 explains how to debug multiprocess programs.
- Chapter 16 explains how to debug tasking (multithread) programs.
- Part 6 is the debugger command dictionary, followed by the appendixes:
- Appendix A lists the keypad-key definitions that are predefined by the debugger.
- Appendix B identifies all of the debugger built-in symbols and logical names.
- Appendix C identifies the debugger support for languages.
- Appendix D contains the source code of the programs shown in the figures in Chapters 8, 9, and 10.
The following documents may also be helpful when using the debugger.
Programming Languages
This manual emphasizes debugger usage that is common to all or most supported languages. For more information specific to a particular language, see:
- The debugger's online help system (see Section 2.1)
- The documentation supplied with that language, particularly regarding compiling and linking the program for debugging
- The VAX MACRO and Instruction Set Reference Manual or the MACRO--64 Assembler for OpenVMS AXP Systems Reference Manual for information about assembly-language instructions and the MACRO assembler
Linker Utility
For information about the linking of programs or shareable images, see the HP OpenVMS Linker Utility Manual.
Delta/XDelta Debugger
For information about debugging code in supervisor, executive, or kernel modes (that is, in other than user mode), see the OpenVMS Delta/XDelta Debugger Manual in the OpenVMS documentation set. This manual contains information about debugging programs that run in privileged processor mode or at an elevated interrupt priority level.
OpenVMS Alpha System-Code Debugger
See the OVMS_ALPHA_SYS_ANALYS_TLS_MAN for information on debugging operating system code. This manual describes how to activate the OpenVMS System-Code Debugger through the OpenVMS Debugger, and debug within the OpenVMS System-Code Debugger environment.
For information on the OpenVMS System-Code Debugger-specific commands, see the CONNECT and REBOOT commands in Part 6.
HP DECwindows Motif for OpenVMS
For general information about the HP DECwindows Motif for OpenVMS user interface, see the VMS DECwindows User's Guide.
For additional information about HP OpenVMS products and services, visit the following World Wide Web address:
Internet | [email protected] |
Postal Mail | Hewlett-Packard Company OSSG Documentation Group, ZKO3-4/U08 110 Spit Brook Rd. Nashua, NH 03062-2698 |
For information about how to order additional documentation, visit the following World Wide Web address:
VMScluster systems are now referred to as OpenVMS Cluster systems. Unless otherwise specified, references to OpenVMS Clusters or clusters in this document are synonymous with VMSclusters.
In this manual, every use of DECwindows and DECwindows Motif refers to HP DECwindows Motif for OpenVMS software.
This manual contains many figures showing the DECwindows Motif user interface to the debugger. Because the display configuration of this interface is customizable, these figures may not exactly picture the appearance of debugger displays on your system.
The examples in this manual have not been updated to reflect the fact that the OpenVMS Debugger on OpenVMS Alpha systems can access all the extended memory made available by the 64-bit processing of the OpenVMS Alpha operating system. You should note that hexadecimal addresses are 16-digit numbers on Alpha and 8-digit numbers on VAX. For example,
Ctrl/ x | A sequence such as Ctrl/ x indicates that you must hold down the key labeled Ctrl while you press another key or a pointing device button. |
PF1 x or GOLD x | A sequence such as PF1 x or GOLD x indicates that you must first press and release the key labeled PF1 or GOLD and then press and release another key or a pointing device button. GOLD key sequences can also have a slash (/), (-), or underscore (_) as a delimiter in EVE commands. |
[Return] | In examples, a key name enclosed in a box indicates that you press a key on the keyboard. (In text, a key name is not enclosed in a box.) In the HTML version of this document, this convention appears as brackets, rather than a box. |
.. | A horizontal ellipsis in examples indicates one of the following possibilities:
|
. . . | A vertical ellipsis indicates the omission of items from a code example or command format; the items are omitted because they are not important to the topic being discussed. |
( ) | In command format descriptions, parentheses indicate that you must enclose the options in parentheses if you choose more than one. |
[ ] | In command format descriptions, brackets indicate optional choices. You can choose one or more items or no items. Do not type the brackets on the command line. However, you must include the brackets in the syntax for OpenVMS directory specifications and for a substring specification in an assignment statement. |
| | In command format descriptions, vertical bars separate choices within brackets or braces. Within brackets, the choices are optional; within braces, at least one choice is required. Do not type the vertical bars on the command line. |
{ } | In command format descriptions, braces indicate required choices; you must choose at least one of the of the items listed. Do not type the braces on the command line. |
bold text | This typeface represents the introduction of a new term. It also represents the name of an argument an attribute, or a reason. |
italic text | Italic text indicates important information, complete titles of manuals, or variables. Variables include information that varies in system output (Internal error number), in command lines (/PRODUCER= name), and in command parameters in text (where dd represents the predefined code for the device type). |
UPPERCASE TEXT | Uppercase text indicates a command, the name of a routine, the name of a file, or the abbreviation for a system privilege. |
Monospace type indicates code examples and interactive screen displays. In the C programming language, monospace type in text identifies the following elements: keywords, the names of independently compiled external functions and files, syntax summaries, and references to variables or identifiers introduced in an example. | |
- | A hyphen at the end of a command format description, command line, or code line indicates that the command or statement continues on the following line. |
numbers | All numbers in text are assumed to be decimal unless otherwise noted. Nondecimal radixes---binary, octal, or hexadecimal---are explicitly indicated. |
This chapter briefly describes the command interface of the OpenVMS Debugger, and provides the following information:
- An overview of debugger features
- Instructions to compile and link your program for debugging
- Instructions to start and end a debugging session
- A list of the debugger commands grouped by function
For a tutorial introduction to basic debugging tasks, see Chapter 2.
The OpenVMS Debugger is a tool to locate run-time programming or logic errors, also known as bugs, in a program that has been compiled and linked successfully but does not run correctly. For example, the program might give incorrect output, go into an infinite loop, or terminate prematurely.
By using the OpenVMS Debugger, you can locate program bugs by observing and manipulating the program interactively as it executes. Debugger commands enable you to:
- Control and observe execution of the program
- Display and browse through the source code of the program to identify instructions and variables worth scrutiny
- Suspend program execution at specified points in order to monitor changes in variables and other program entities
- Change the value of a variable and, in some cases, test the modification without having to edit the source code, recompile, and relink
- Trace the execution path of the program
- Monitor exception conditions and language-specific events
These are basic debugging techniques. After locating program errors, you can edit the source code and compile, link, execute, and test the corrected version.
As you use the debugger and its documentation, you will discover and develop variations on the basic techniques. You can also customize the debugger for your own needs. Section 1.1.1 summarizes the features of the OpenVMS Debugger.
1.1.1 Functional Features
Programming Language SupportOn VAX processors, you can use the debugger with programs written in the following VAX languages:
Hp Pascal For Openvms User Manual Online
Ada | BASIC | BLISS | C |
C++ | COBOL | DIBOL | Fortran |
MACRO-32 | Pascal | PL/I | RPG II |
SCAN |
On Alpha processors, you can use the debugger with programs written in the following Compaq languages:
Ada | BASIC | BLISS | C |
C++ | COBOL | Fortran | MACRO-32 1 |
MACRO-64 | Pascal | PL/I |
On I64, you can use the debugger with programs written in the following Compaq languages:
Assembler (IAS) | BASIC | BLISS | C |
C++ | COBOL | Fortran | MACRO-32 1 |
IMACRO | PASCAL | ||
Assembler (IAS) | BASIC | BLISS | C |
C++ | COBOL | Fortran | MACRO-32 1 |
IMACRO | PASCAL |
1Note that MACRO-32 must be compiled with the AMACRO compiler.
The debugger recognizes the syntax, data types, operators, expressions, scoping rules, and other constructs of a supported language. You can change the debugging context from one language to another (with the SET LANGUAGE command) during a debugging session.
Symbolic Debugging
The debugger is a symbolic debugger. You can refer to program locations by the symbols used in your program---the names of variables, routines, labels, and so on. You can also specify explicit memory addresses or machine registers if you choose.
Support for All Data Types
The debugger recognizes the data types generated by the compilers of all supported languages, such as integer, floating-point, enumeration, record, array, and so on, and displays the values of each program variable according to its declared type.
Flexible Data Format
With the debugger, you can enter and display a variety of data forms and data types. The source language of the program determines the default format for the entry and display of data. However, you can select other formats as needed.
Starting or Resuming Program Execution
Once the program is under control of the debugger, you can start or resume program execution with the GO or STEP command. The GO command causes the program to execute until specified events occur (the PC points to a designated line of code, a variable is modified, an exception is signaled, or the program terminates). You can use the STEP command to execute a specified number instructions or lines of source code, or until the program reaches the next instruction of a specified class. Panasonic lumix dmc-fz100.
Breakpoints
You can set a breakpoint with the SET BREAK command, to suspend program execution at a specified location in order to check the current status of the program. You can also direct the debugger to suspend execution when the program is about to execute an instruction of a specific class. You can also suspend execution when certain events occur, such as exceptions and tasking (multithread) events.
Tracepoints
You can set a tracepoint with the SET TRACE command, to cause the debugger to report each time that program execution reaches a specified location (that is, each time the program counter (PC) references that location). As with the SET BREAK command, you can also trace the occurrence of classes of instructions and monitor the occurrence of certain events, such as exceptions and tasking (multithread) events.
Watchpoints
You can set a watchpoint with the SET WATCH command to cause the debugger to suspend program execution whenever a particular variable (or other specified memory location) has been modified, at which point the debugger reports the old and new values of the variable.
Manipulation of Variables and Program Locations
You can use the EXAMINE command to determine the value of a variable or memory location. You can use the DEPOSIT command to change that value. You can then continue execution of the program to determine the effect of the change without having to recompile, relink, and rerun the program.
Evaluation of Expressions
You can use the EVALUATE command to compute the value of a source-language expression or an address expression in the syntax of the language to which the debugger is currently set.
Control Structures
You can use logical control structures (FOR, IF, REPEAT, WHILE) in commands to control the execution of other commands.
Shareable Image Debugging
You can debug shareable images (images that are not directly executable). The SET IMAGE command enables you to access the symbols declared in a shareable image (that was compiled and linked with the /DEBUG qualifiers).
Multiprocess Debugging
You can debug multiprocess programs (programs that run in more than one process). The SHOW PROCESS and SET PROCESS commands enable you to display process information and to control the execution of images in individual processes.
Task Debugging
Hp Pascal For Openvms User Manual Download
You can debug tasking programs (also known as multithread programs). These programs use Compaq POSIX Threads Library or POSIX 1003.1b services, or use language-specific tasking services (for example, Ada tasking programs). The SHOW TASK and SET TASK commands enable you to display task information and to control the execution of individual tasks.
Vector Debugging (VAX Only)
On VAX processors, you can debug vectorized programs, that is, programs that use VAX vector instructions. You can control and monitor execution at the vector instruction level, examine and deposit vector instructions, manipulate the contents of vector registers, use a mask to display specific vector elements, and control synchronization between the scalar and vector processors. For informationon debugging vectorized programs, see the OpenVMS Debugger Manual Version 7.2.
Terminal and Workstation Support
The debugger supports all VT-series terminals and VAX workstations.
Hp Pascal For Openvms User Manual 2017
Next | Contents | Index |