dbXtra and dbxtra

Usage requirements

The C++ option is assumed by default when invoking dbXtra and dbxtra. The proper C++ compiler flags must be used to compile the program. The following describes the debugger's behavior when -C++ is used along with other C++ compiler flags.

If the -dbxC flag was used to compile the C++ program, the compiler also generates the C source that is derived from the C++ program. This enables the debugger to display both C and C++ source (see ``The dbXtra and dbxtra cc command''), and to display comprehensive information about C++ constructs. Commands that take expressions are also able to recognize both C++ identifiers and the resulting C identifiers. These capabilities allow debuging both C and C++ source. This flag, however, does result in additional files being created and, therefore, requires more hard disk space.

If the -dbx flag was used, the compiler does not produce C source. Hence, C source cannot be displayed. Commands, however, can recognize both C++ identifiers and their C derivatives, called "mangled" names. C++ information produced by dbXtra or dbxtra when this flag is used is as good as when the -dbxC flag is used. Although additional files are created, their number is less than the number created when -dbxC is used. This flag is useful when C++ source alone is to be debugged.

Like -dbx, the compiler does not produce C source with the -g flag. The debugger cannot display C source, although C++ identifiers and their C derivatives are recognized by debugger commands. However, the very limited amount of C++ debugging information produced prevents dbXtra and dbxtra from displaying much about C++ constructs. Hence, among the three flags, -g is the most restrictive in terms of allowing the debugger to debug C++ programs.

Next topic: Overloaded functions and operators
Previous topic: C++ specific debugging features

© 2003 Caldera International, Inc. All rights reserved.
SCO OpenServer Release 5.0.7 -- 11 February 2003