There are a number of system defined variables. Modifying their values changes the way the debugger operates. The following list contains the currently defined system variables. To display the value of a system variable, prepend a dollar-sign to it (for example, $ANSICMODE) and enter it in the command pane.
System special variables beginning with an underscore `_' are not normally listed. They represent the internal state of the debugger. To see them, use the l command with the s option:
l s _ |
See (lower case `L') l.
System special variables | |
---|---|
Name | Meaning |
_ASMCACHE |
When set to one (1) [default], the disassembly of program code in the debugger window is done by reading data from the executable file, not from the debugged program. This allows a faster disassembly print to the screen. Setting _ASMCACHE to zero forces the debugger to read the text to be disassembled from the debugged program, instead of the buffer or executable file. If instruction memory is modified or destroyed, and _ASMCACHE is one, then displays of disassembled instructions continue to show the original unmodified instructions in the executable file. This is confusing since the instructions actually executed are not those shown by the disassembly display. Sometimes, when peculiar behavior occurs on the target system, such as the program stops on an apparently valid instruction or it refuses to single step or continue past a valid instruction, the instruction memory on the target system has been corrupted. Try setting _ASMCACHE to zero and redisplaying the assembly code. You may find invalid instructions at the point of failure. (You may need to turn off assem mode and examine another part of the program, turn assem mode back on, then return to the point of the entry to clear out the debugger's internal disassembly cache.) |
_CACHE |
If non-zero, the debugger uses a cache for reading memory from the target. The cache is invalidated every time the program state changes. This speeds up remote debugging. See also
eval. |
_DATA |
Used for PID (position independent data) systems where the executable is linked as if it were at one address while it runs at another. This variable is set to the offset between the location at which the data segment resides and at which it is linked. This is set on the command line with the -data option. |
_DISPMODE |
Determines whether assembly code is interlaced with source code in the source pane. See
"Interlaced source view". |
_ERRHALT |
When the target encounters an exception, then if _ERRHALT is false, the debugger will list the registers, execute any associated exception breakpoint commands, then resume the target process. If TRUE, only the associated commands are executed, leaving the target process halted. This variable defaults to TRUE. See
be,
de,
l (lowercase `L') with the e and r options. |
_INIT_SP |
Tells the debugger the value of the stack pointer at program start up in certain remote environments where this information is not available. |
_LANGUAGE |
Shows which expression evaluator is in use. 0 means C, 1 means Fortran, 2 means Pascal, 3 means C++, 4 means Ada, 5 means Jovial, 6 means SL1, 7 means Assembly, and 31 means auto-select based on the type of current file. |
_LINES |
This shows the number of lines displayed by the printwindow command by default. See
printwindow. |
_NOTIFY |
If this is non-zero, then you are notified when new children are forked, when your program performs an exec, and when your program is stopped. This is off by default. |
_OPCODE |
If non-zero, then disassembly mode displays the hexadecimal value of the instruction. This does not work for 68K. |
_TEXT |
Used for PIC (position independent code) systems where the executable is linked as if it were at one address, while it runs at another. This variable is set to the offset between the location at which the text segment resides and links. This is set on the command line with the -text option. |
The following system special variables are read-only: .
Process state | |||
1 = no child |
2 = stopped |
3 = running |
4 = dying |
5 = just fork'ed |
6 = just exec'ed |
7 = about to resume |
n/a |