GDB 调试程序
1. 初始化
gdb 是对已经编译成功程序到调试, 并且为了保证可执行程序时包含调试信息, 编译时使用 -g 参数来指明
sublimetext ctrl+B 生成到可执行文件不能直接被 gdb 调试
2. 暂停程序
gdb 可以实用几种方式来暂停程序: 断点, 观察店, 捕捉点, 信号, 线。 当程序被暂停后, 可以使用 continue, next, step 来继续执行程序
continue 执行到下一个暂停点或程序结束
next 执行下一行代码但进入函数内部
step 执行下一行代码并且进入函数内部
(1)设置断点
a. break +[源代码行号]
b. break ... if ... condition ... 比如 break ... if i = 100 来设置循环次数
(2) 设置观察点
a. watch +[变量][表达式] 当变量或表达式改变时即停住程序
b. rwatch +[变量][表达式] 当变量或表达式被读时, 停住程序
c. awatch+[变量][表达式] 当变量或表达式被读写时, 停住程序
2. 查看信息
(1) 查看数据
a. print variable 查看变量
BTW
1. 列文件清单
List, 列出源文件, 按 enter 逐渐显示出下面几行
2. 执行程序
b(break) +[][] 添加断点
n 开始单步调试
3. 断点操作
delete index 删除第 index 个断点
enable index 使第 index 个断点 enable
disable index 使第 index 个断点 disable
4. 函数调用
call name 调用并执行一个函数
call function(1,3)
call printf("abcd")

浙公网安备 33010602011771号