Debugging with GDB (February 2008)

Table Of Contents
vi Debugging with GDB
14.12 Debugging MPI Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
14.13 Debugging multiple processes ( programs with fork and
vfork calls) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
14.13.1 Ask mode for set follow-fork-mode . . . . . . . . 164
14.13.2 serial mode for set follow-fork-mode . . . . . . . 164
14.13.3 Support for showing unwind info. . . . . . . . . . . . . 164
14.13.4 Printing CFM and PFS registers. . . . . . . . . . . . . 165
14.14 Debugging Core Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
14.14.1 Generating core files with packcore
/unpackcore/getcore . . . . . . . . . . . . . . . . . . . . . . . . . . 165
14.14.2 Support for the dumpcore command . . . . . . . . . 166
14.14.2.1 Enhancements to the dumpcore
command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
14.14.3 Support for display of run time type information
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
14.15 Printing the Execution Path Entries for the Current Frame
or Thread . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
14.15.1 Compiler Dependencies for Printing the Execution
Path Entries. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
14.15.2 Example Illustrating Execution Path Recovery
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
14.16 Invoking GDB Before a Program Aborts . . . . . . . . . . . . . . 171
14.17 Aborting a Command Line Call . . . . . . . . . . . . . . . . . . . . . . 171
14.18 Instruction Level Stepping . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
14.19 Enhanced support for watchpoints and breakpoints . . . . 172
14.19.1 Deferred watchpoints . . . . . . . . . . . . . . . . . . . . . . . 172
14.19.2 Hardware watchpoints . . . . . . . . . . . . . . . . . . . . . . 173
14.19.3 Hardware breakpoints . . . . . . . . . . . . . . . . . . . . . . 173
14.19.3.1 Setting breakpoints in unstripped shared
library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
14.19.4 Support for procedural breakpoints . . . . . . . . . . 173
14.19.5 Support for template breakpoints . . . . . . . . . . . . 174
14.20 Debugging support for shared libraries . . . . . . . . . . . . . . . . 174
14.20.1 Using shared library as main program . . . . . . . . 174
14.20.2 Setting Deferred Breakpoints in Shared Library
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
14.20.3 Using catch load . . . . . . . . . . . . . . . . . . . . . . . . . . 175
14.20.4 Privately mapping shared libraries . . . . . . . . . . . 175
14.20.5 Selectively Mapping Shared Libraries As Private
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
14.20.6 Setting breakpoints in shared library . . . . . . . . . 177
14.21 Language support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
14.21.1 Enhanced Java Debugging Support . . . . . . . . . . 177
14.21.2 Commands for Examining Java Virtual
Machine(JVM) internals. . . . . . . . . . . . . . . . . . . . . . . . . 177
14.21.2.1 Java subcommands . . . . . . . . . . . . . . . . 177
14.21.3 Support for stack traces in Java, C, and C++
programs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178