GLOSSARY [ Symbolic Debugger/iX User's Guide ] MPE/iX 5.0 Documentation
Symbolic Debugger/iX User's Guide
GLOSSARY
address
Virtual memory address used to reference program code or data. When used
to designate an address with the ba (breakpoint address) command, it can
be either one of the following:
* Strictly a numeric value (such as 0x00001358)
* A symbolic address with or without an offset (such as main+0x1c).
assertion
A list of commands performed before the debugger executes a program
statement. Useful for tracking unexpected changes in program data
(undesired side effects).
breakpoint
A software "trigger" inserted into the user program, that, when
encountered during execution, pauses the program and transfers back to
the debugger. A breakpoint is always associated with a particular
address, which is either specified explicitly or implied by its
association with a line number, procedure entry or exit point.
Breakpoints can have the following associated with them:
* Command list- list of commands executed when the breakpoint is
triggered
* count- how many times the breakpoint must be encountered before it
is triggered.
* lifespan- "temporary" or "permanent" status (this information is
actually determined by whether count is less than or greater than
zero, respectively). A temporary breakpoint is removed when it is
triggered; a permanent breakpoint is not.
child process
A subordinate process that is initiated and closely controlled by the
debugger (parent). This process is a running instance of the program
being debugged.
command
Commands tell the HP Symbolic Debugger which functions to perform, and
can be spelled out or abbreviated. The abbreviation for most commands is
the first character of each word in the command name. Commands are
separated with a semicolon within a command list. For more information,
see chapter 4 HP Symbolic Debugger Commands.
command list
A sequence of one or more debugger commands separated by a semicolon (;).
Some commands expect command-lists as arguments. Braces ({}) must
sometimes be used to enclose command-lists. For more information, see
the individual command listings in chapter 4 HP Symbolic Debugger
Commands.
current location
The "point-of-interest" in the source as displayed in the source window.
Many commands take this as a default location. The current location is
not necessarily the current point of program suspension (where the
program is currently paused.)
datatrace
A list of commands performed when the value of the specified variable
changes. Useful for tracking unexpected changes in program data
(undesired side effects).
debugger information
Name, type, source file, and source-line-to-address mapping information
generated by the compiler for use by the debugger. This information can
significantly increase the size of an executable file. All debugger
information is preprocessed (and reduced in size) the first time the
program is debugged. This might increase initial startup time, which
will thereafter be significantly shorter.
depth
Number of levels back in the current procedure call chain (stack). Depth
0 is where execution is suspended. If procedure A calls B, procedure B
calls C, and C is where the program is suspended, then B is at depth 1
and A is at depth 2. The trace (t) or Trace (T) commands displays the
procedures and their depths on the stack.
exception
Either a hardware or software generated condition that causes the program
to be asynchronously suspended or halted. Examples of these might be:
* user-generated (keyboard) interrupt
* floating-point overflow
* segmentation violation (invalid addressing operation)
* bus error (invalid memory access)
expression
A valid combination of data object names, language operators, and
constant numeric values. Every expression is evaluated and reduced to a
single value.
file
The name of a file.
format
Used with the debugger commands p (print) or disp (display) to describe
how data will be accessed and displayed. A format consists of:
* an optional repetition count
* a formatting character
* an optional object size
The access and display operation is performed once for each repetition
(default 1). The number of bytes in each object is determined by the
given object size (default depends on the formatting character). The
formatting character determines how each object is interpreted and
printed. For example, to print four sequential 16-bit integers in octal,
use the format 4o2 or 4os.
line mode
Debugger user interface that does not use any special terminal functions.
This must be used for terminals that do not support memory lock.
location
A unique position in the user program. It can be specified as a file
name, procedure name, source line number, or combination of these. An
address (see above) can also be used to specify a location for certain
commands.
machine instruction
Presented to the user when debugging in disassembly mode. Actual
instruction mnemonics and syntax are described in the HP Precision
Architecture and Instruction Reference Manual.
macro
Simple form of command aliasing using text substitution. A macro can be
used as a shorthand for one or more commands.
memory lock
A terminal feature that allows some upper portion of the terminal screen
to remain constant while the remainder of the screen is scrolled. This
feature is required by the debugger for its window-oriented interface.
If memory lock is unavailable, the line-oriented interface (line mode) is
used.
procedure
A procedure, function, subroutine, paragraph, or module name. Also a
user program name.
registers
Precision Architecture hardware registers. These are directly accessible
by the debugger through symbolic names (e.g. $pc). Many registers have
special meaning; some cannot be modified by the debugger user. See the
HP Precision Architecture and Instruction Reference Manual for a
discussion on the use of each register. Actual modification of hardware
registers should not normally be necessary while debugging. Correct
program execution depends highly on registers and their contents.
sharable code
Executable code that can be mapped into the address space of more than
one process. No process should attempt to modify shared code while it is
actually being shared by two or more processes. The debugger modifies
the code in order to insert breakpoints, requiring that multiple
debugging sessions cannot occur with the same executable file. Private
copies must be made first.
source
Source text (files) used to compile the user program. These can be in
any of the programming languages supported by the debugger.
source line
A single line of text in a source file, denoted by a line number. A
source line might or might not contain actual executable statements.
Conversely, more than one statement can occur on a single line.
special variables
Named variable (prefixed by S) local to the debugger. Many special
variables are predefined by the debugger to have a unique meaning. For
example, $line is always the current line number, and $dp is the
data-pointer register (HP-PA general register 27).
User-defined special variables are also available. They are created when
first referenced, and allow you to store and reference numeric variables
independent of the program being debugged.
stack
Linear data structure maintained by the user program for management of
local data and flow of control during procedure calls. Each sequential
region on the stack embodies information about a particular procedure.
The preceding region (frame) describes its caller. At any point during
execution, a stack_trace_ (generated by the T (Trace) command) will
display information contained in each stack frame; in particular, the
values of all local variables.
string
Quoted sequence of arbitrary characters. Quotes can be single (') or
double (") depending on the current language ($lang). Character escapes
allow inclusion of control or other non-printing characters.
variable
A variable name.
window
Region of the terminal screen limited to displaying specific information.
The debugger has at least three: the source, location, and command
windows.
MPE/iX 5.0 Documentation