| United States-English |
|
|
|
![]() |
HP Itanium-based Systems: HP aC++/HP C Programmer's Guide > Chapter 2 Command-Line OptionsDebugging Options |
|
Debugging options enable you to use the HP WDB debugger. Information on HP WDB is available at this location: http://www.hp.com/go/wdb The +d option prevents the expansion of inline functions. It is useful when you debug code because breakpoints cannot be set at inline functions. Using the +d option disables all inlining. It is mapped to the +inline_level 0 option. The +expand_types_in_diag option expands typedefs in diagnostics so that both the original and final types are present. The -g option causes the compiler to generate minimal information for the debugger. It uses an algorithm that attempts to reduce duplication of debug information. To suppress expansion of inline functions, use the +d option. The -g0 option causes the compiler to generate full debug information for the debugger. To suppress expansion of inline functions, use the +d option. Like the -g option, the -g1 option causes the compiler to generate minimal information for the debugger. It uses an algorithm that attempts to reduce duplication of debug information. To suppress expansion of inline functions, use the +d option. The -g, -g0, and -g1 options generate debug information. The difference is that the -g0 option emits full debug information about every class referenced in a file, which can result in some redundant information. The -g and -g1 options emit a subset of this debug information, thereby decreasing the size of your object file. If you compile your entire application with -g or -g1, no debugger functionality is lost.
Use -g or -g1 when you are compiling your entire application with debug on and your application is large, for example, greater than 1 MB. Use -g0 when either of the following is true:
In general, the compiler looks for the first non-inline, non-pure (non-zero) virtual function in order to emit debug information for a class.If there are no virtual member functions, the compiler looks for the first non-inline member function. If there are no non-inline member functions, debug information is always generated. A problem occurs if all functions are inline; in this case, no debug information is generated. This option controls the emission of macro debug information into the object file. Set +macro_debug to one of the following required options:
One of the -g options (-g, -g0, or -g1) must be used to enable the +macro_debug option. 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.
+objdebug is 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 -g1 option when using +ild. +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-catch execution paths are recorded in the path table. If there is no condition statement inside a for, while, or do-while loop, then no excution path is recorded. Usage: The defined values for kind are:
The values can be combined by joining them with a colon. For example: +pathtrace=global:local The global_fixed_size and global values are mutually exclusive. If more than one of them are specified on the command line, the last one takes precedence. The same is true for the none value. +pathtrace with no values is equivalent to +pathtrace=global_fixed_size:local. The use of this option and the -mt option must be consistent for all compilation and link steps. That means if -mt is used with +pathtrace at compile time, it should also be used at link time; if -mt is not used with +pathtrace at compile time, it should not be used at link time. Otherwise, a link-time error can occur. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||