HP 3000 Manuals

System Debuggers [ HP Pascal/iX Programmer's Guide ] MPE/iX 5.0 Documentation


HP Pascal/iX Programmer's Guide

System Debuggers 

The compiler listing of your program is an indispensable debugging aid.
The following compiler options provide the listing with additional
information, as noted.

The system debuggers are adb on HP-UX and NM Debug on MPE/iX.

Compiler Option   Effect 

CODE_OFFSETS      For the main program and each routine, the CODE_OFFSETS
                  option produces a table for every executable statement
                  in which the value of the program counter for the first
                  machine instruction that corresponds to the statement
                  appears beside the statement number.  The tables appear
                  at the end of the compiler listing.

                  Each program counter value is offset from the entry
                  point of the procedure that contains the statement to
                  which it corresponds.

                  Program counter values are useful when debugging your
                  program.

LIST_CODE         This option produces a mnemonic listing of the object
                  code for each routine in the program.  The mnemonic
                  listing appears after the listing of the compilation
                  unit.

TABLES            This option produces an identifier map for each routine
                  and main program that the compiler parsed while the
                  option was ON. An identifier map shows each identifier
                  that the block declares and its class, type, address or
                  constant value, size, alignment, and (if appropriate)
                  field offset.


NOTE Program counter values are not exact when you use optimization.
See the HP Pascal/iX Reference Manual or the HP Pascal/HP-UX Reference Manual, depending on your implementation, for more information on the compiler options CODE_OFFSETS, LIST_CODE, and TABLES. You must debug your code before you compile it with optimization. CODE_OFFSETS and SYMDEBUG cannot be used in an optimized program, because the optimizer transforms the machine code so that the mapping of source code to machine code is not one-to-one.


MPE/iX 5.0 Documentation