+[no]objdebug

The +objdebug option generates debug information in object files and not in the executable. The HP WDB debugger then reads the object files to construct debugging information; they must be present when debugging.

The +noobjdebug option generates debug information in object files which the linker places into the executable. The HP WDB debugger then reads the executable to construct debugging information.

NOTE: With +objdebug, the object files or archive libraries must not be removed.

+objdebug is the default at link time and at compile time. If +noobjdebug is used at link time, all debug information goes into the executable, even if some objects were compiled with +objdebug.

If +objdebug is used at compile time, extra debug information is placed into each object file to help the debugger locate the object file and to quickly find global types and constants.

Usage:

Use +objdebug option to enable faster links and smaller executable file sizes for large applications, rather than +noobjdebug where debug information is written to the executable.

Use +noobjdebug with the -g, -g0, or -g1option when using +ild.

+pathtrace

+pathtrace[=kind]

The +pathtrace option provides a mechanism to record program execution control flow into global and/or local path tables. The saved information can be used by the HP WDB debugger to assist with crash path recovery from the core file, or to assist when debugging the program by showing the executed branches.

Currently only if, else, switch-case-default, and try-catchexecution paths are recorded in the path table. If there is no condition statement inside a for, while, or do-whileloop, then no excution path is recorded.

Usage:

The defined values for kind are:

local

Generates a local path table and records basic block-execution

 

information in it at runtime.

global

Generates a global path table and records basic block-execution

 

information in it at runtime.

 

The global path table is a fixed size. The default size of the table is

 

8K items. Each basic block that is executed is recorded as an item of

 

path-trace information in the table. Each thread has its own table, and

 

when the table is full, the runtime system wraps the path table back to

 

the beginning of the table.

 

The table size can be configured at runtime using the environment

 

variable HP_PATHTRACE_CONFIG, which also lets you specify a file

 

to be used for dumping full tables and the dumping format, before

 

wrapping around or at thread/program termination.

 

The syntax of the environment variable HP_PATHTRACE_CONFIG is:

 

HP_PATHTRACE_CONFIG=item[:item]

 

item := TABLE_SIZE=nnn

 

FILE=[stdoutstderr<filename>]

 

FORMAT=[binarytext]

Debugging Options 37