上传者: vivieryuan
|
上传时间: 2022-05-02 22:58:54
|
文件大小: 1.46MB
|
文件类型: PDF
前言 ..................................................................................................................................................6
第一章:一个 GDB 会话样例 ........................................................................................................6
1 一个 GDB 会话样例 ....................................................................................................6
第二章:进入和离开 GDB ...........................................................................................................10
2.1 调用 GDB ........................................................................................................................10
2.1.1 选择文件...............................................................................................................11
2.1.2 选择模式...............................................................................................................12
2.1.3 GDB 在启动阶段的活动 ......................................................................................14
2.2 退出 GDB ........................................................................................................................15
2.3 Shell 命令 .........................................................................................................................15
2.4 日志输出..........................................................................................................................15
第三章 GDB 命令 ........................................................................................................................16
3.1 命令语法..........................................................................................................................16
3.2 命令补全..........................................................................................................................16
3.3 帮助..................................................................................................................................18
第四章 在 GDB 里运行程序 ........................................................................................................20
4.1 为调试而编译..................................................................................................................20
4.2 开始程序..........................................................................................................................21
4.3 程序参数..........................................................................................................................22
4.4 程序的环境......................................................................................................................23
4.5 程序的工作目录..............................................................................................................24
4.6 程序的输入输出..............................................................................................................24
4.7 调试一个已经在运行的进程..........................................................................................25
4.8 杀死子进程......................................................................................................................25
4.9 调试多线程进程..............................................................................................................26
4.10 调试多个程序................................................................................................................28
4.11 为跳转设置书签............................................................................................................30
4.11.1 使用检查点的隐含好处.....................................................................................31
第五章 中断和继续.....................................................................................................................31
5.1 断点,监视点,捕获点..................................................................................................31
5.1.1 设置断点...............................................................................................................32
5.1.2 设置监视点...........................................................................................................36
5.1.3 设置捕获点...........................................................................................................38
5.1.4 删除断点...............................................................................................................39
5.1.5 禁用断点...............................................................................................................40
5.1.6 中断条件...............................................................................................................41
5.1.7 断点命令列表.......................................................................................................42
5.1.8 断点菜单...............................................................................................................43
5.1.9 “不能插入断点” ...............................................................................................44
5.1.10 “断点地址已调整…” .....................................................................................44
5.2 继续和单步跟踪..............................................................................................................45
5.3 信号..................................................................................................................................48
5.4 中断和开始多线程程序..................................................................................................49
第六章 检查栈...............................................................................................................................51
6.1 堆栈帧..............................................................................................................................51
6.2 回溯..................................................................................................................................52
6.3 选择堆栈帧......................................................................................................................53
6.4 堆栈帧信息......................................................................................................................54
第七章 检查源文件.......................................................................................................................55
7.1 打印源代码行..................................................................................................................55
7.2 指定位置..........................................................................................................................56
7.3 编辑源文件......................................................................................................................57
7.3.1 选择编辑器...........................................................................................................58
7.4 搜索源文件......................................................................................................................58
7.5 指定源文件目录..............................................................................................................58
7.6 源代码和机器代码..........................................................................................................61
第八章 查看数据...........................................................................................................................62
8.1 表达式..............................................................................................................................62
8.2 程序变量..........................................................................................................................63
8.3 伪数组..............................................................................................................................65
8.4 输出格式..........................................................................................................................65
8.5 查看内存..........................................................................................................................66
8.6 自动显示..........................................................................................................................68
8.7 打印设置..........................................................................................................................69
8.8 值历史..............................................................................................................................74
8.9 惯用变量..........................................................................................................................75
8.10 寄存器............................................................................................................................76
8.11 浮点硬件........................................................................................................................77
8.12 向量单元........................................................................................................................77
8.13 操作系统辅助信息........................................................................................................78
8.14 内存区域属性................................................................................................................78
8.14.1 属性.....................................................................................................................79
8.14.2 内存访问检查.....................................................................................................80
8.15 在内存和文件之间复制数据........................................................................................80
8.16 如何从程序里产生 Core 文件......................................................................................81
8.17 字符集............................................................................................................................81
8.18 缓存远程目标的数据....................................................................................................84
第九章 C 预处理宏.......................................................................................................................84
第十章 跟踪点.............................................................................................................................88
10.1 设置跟踪点的命令........................................................................................................88
10.1.1 创建和删除跟踪点.............................................................................................88
10.1.2 激活和禁用跟踪点.............................................................................................89
10.1.3 跟踪点通过计数.................................................................................................89
10.1.4 跟踪点操作列表.................................................................................................90
10.1.5 跟踪点列表.........................................................................................................91
10.1.6 开始和中止跟踪会话.........................................................................................91
10.2 使用已收集的数据........................................................................................................92
10.2.1 tfind n ...................................................................................................................92
10.2.2 tdump ...................................................................................................................94
10.2.3 save-tracepoints filename.....................................................................................95
第十一章 调试使用覆盖技术的程序...........................................................................................95
11.1 覆盖是如何工作的........................................................................................................96
11.2 覆盖命令......................................................................................................................97
11.3 自动覆盖调试................................................................................................................99
11.4 覆盖示例程序................................................................................................................99
第十二章 用 GDB 调试不同语言编写的程序 ..........................................................................100
12.1 切换源代码语言..........................................................................................................100
12.1.1 文件扩展名和语言列表...................................................................................101
12.1.2 设置工作语言...................................................................................................101
12.1.3 让 GDB 推断源语言 ........................................................................................102
12.2 显示语言......................................................................................................................102
12.3 类型和域检查..............................................................................................................102
12.3.1 类型检查概述...................................................................................................103
12.4 语言支持......................................................................................................................103
12.4.1 C 和 C++............................................................................................................104
12.4.1.1 C 和 C++操作符.............................................................................................104
12.4.1.2 C 和 C++常量.................................................................................................105
12.4.1.3 C++表达式......................................................................................................106
12.4.1.4 C 和 C++缺省值.............................................................................................107
12.4.1.5 C 和 C++类型和域检查.................................................................................107
12.4.1.6 GDB 和 C........................................................................................................107
12.4.1.7 GDB 的 C++功能 ...........................................................................................107
12.4.1.8 十进制浮点格式............................................................................................108
12.4.2 Objective-C ........................................................................................................109
12.4.2.1 命令里的方法名............................................................................................109
12.4.2.2 和 Objective-C 协作的 Print 命令.................................................................110
12.4.3 Fortran................................................................................................................110
12.4.3.1 Fortran 操作符和表达式................................................................................110
12.4.3.2 Fortran 的缺省值............................................................................................110
12.4.3.3 Fortran 的特殊命令........................................................................................110
12.4.4 Pascal .................................................................................................................111
12.4.5 Modula-2............................................................................................................111
12.4.5.1 操作符............................................................................................................111
12.4.5.2 内建函数和过程............................................................................................112
12.4.5.3 常量................................................................................................................113
12.4.5.4 Modula-2 类型................................................................................................113
12.4.5.5 Modula-2 的缺省设置....................................................................................115
12.4.5.6 与标准 Modula-2 的差异..............................................................................116
12.4.5.7 Modula-2 类型和域检查................................................................................116
12.4.5.8 范围操作符::和..............................................................................................116
12.4.5.9 GDB 和 Modula-2...........................................................................................117
12.4.6 Ada .....................................................................................................................117
12.4.6.1 介绍................................................................................................................117
12.4.6.2 Ada 里的遗漏 .................................................................................................118
12.4.6.3 对 Ada 的扩展 ...............................................................................................119
12.4.6.4 在开头处停止................................................................................................120
12.4.6.5..........................................................................................................................120
12.5 未支持的语言..............................................................................................................120
第十三章 查看符号表.................................................................................................................121
第十四章 改变执行.....................................................................................................................125
14.1 给变量赋值..................................................................................................................126
14.2 在不同的位置上继续执行..........................................................................................127
14.3 为程序设置信号..........................................................................................................127
14.4 从函数里返回..............................................................................................................128
14.5 调用程序函数..............................................................................................................128
14.6 为程序打补丁..............................................................................................................129
第十五章 GDB 文件 ...................................................................................................................129
15.1 设置文件的命令..........................................................................................................129
15.2 调试信息位于不同文件中..........................................................................................135
15.3 读取符号文件的错误..................................................................................................138
第十六章 设置调试目标.............................................................................................................139
16.1 有效目标......................................................................................................................140
16.2 管理目标的命令..........................................................................................................140
16.3 选择目标字节序..........................................................................................................142
第十七章 调试远程程序.............................................................................................................143
17.1 连接到远程目标..........................................................................................................143
17.2 给远程系统发送文件..................................................................................................144
17.3 使用 gdbserver 程序....................................................................................................145
17.3.1 运行 gdbserver..................................................................................................145
17.3.1.1 附着到运行着的程序....................................................................................146
17.3.1.2 gdbserver 的多进程模式................................................................................146
17.3.1.3 其它 gdbserver 命令行参数 ..........................................................................146
17.3.2 连接 gdbserver..................................................................................................147
17.3.3 gdbserver 的监视命令.......................................................................................147
17.4 远程配置......................................................................................................................147
17.5 实现远程代理..............................................................................................................149
17.5.1 代理能为你做什么...........................................................................................150
17.5.2 你必须为代理做什么.......................................................................................151
17.5.3 集成...................................................................................................................152
第十八章 配置相关的信息.........................................................................................................152
18.1 本地..............................................................................................................................153
18.1.1 HP-UX ...............................................................................................................153
18.1.2 BSD libkvm 接口...............................................................................................153
18.1.3 SVR4 进程信息..............................................................................................153
18.1.4 调试 DJGPP 程序的功能.................................................................................15