Debugging with GDB (September 2007)
ii Debugging with GDB
5 Stopping and Continuing . . . . . . . . . . . . . . . . . . 33
5.1 Breakpoints. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.1.1 Setting breakpoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.1.2 Setting catchpoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.1.3 Deleting breakpoints . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.1.4 Disabling breakpoints . . . . . . . . . . . . . . . . . . . . . . . . . . 39
5.1.5 Break conditions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5.1.6 Breakpoint command lists . . . . . . . . . . . . . . . . . . . . . . 41
5.1.7 Breakpoint menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.1.8 “Cannot insert breakpoints” . . . . . . . . . . . . . . . . . . . . 43
5.2 Continuing and stepping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.3 Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
5.4 Stopping and starting multi-thread programs . . . . . . . . . . . . . 48
6 Examining the Stack . . . . . . . . . . . . . . . . . . . . . . 51
6.1 Stack frames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
6.2 Stacks Without frames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
6.3 Commands for Examining the Stack . . . . . . . . . . . . . . . . . . . . . 52
6.4 Backtraces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
6.5 Selecting a frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
6.6 Information about a frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
7 Examining Source Files . . . . . . . . . . . . . . . . . . . 57
7.1 Printing source lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
7.2 Searching source files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
7.3 Specifying source directories . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
7.4 Source and machine code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
8 Examining Data . . . . . . . . . . . . . . . . . . . . . . . . . . 63
8.1 Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
8.2 Program variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
8.3 Artificial arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
8.4 Output formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
8.5 Examining memory. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
8.6 Automatic display. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
8.7 Print settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
8.8 Value history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
8.9 Convenience variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
8.10 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
8.11 Printing Floating Point Values . . . . . . . . . . . . . . . . . . . . . . . . . 78
8.12 Floating point hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78