使用gdb: 编译时加-g参数
gcc -o app -I ./ func.c main.c -g
启动gdb:
gdb app
在gdb启动程序:
- r(un) 启动
- start 启动 停留在main函数,分步调试
- n(ext) 下一条语句
- s(tep) 下一条语句,可以进入到函数内部
- q(uit) 退出gdb
- 设置启动参数: set argc 10 6 / run 10 6
- 设置断点:
- list 查看代码
- 查看main.c, 直接 list
- 若查看其他文件,需要 list other.c:1
- break +行号
- list 查看代码
设置断点后,run,会停留在断点
-
- b(reak) +函数: b sum
-
- 在非main文件设置断点: b func.c:3
- 查看断点: info b
- 删除断点: d num(断点编号)
- 跳到下一断点: c
- 设置条件断点:
- 查看变量的值: p x
- 查看变量的类型: ptype
- 可以在调试步骤中指定变量的值
- 跟踪变量: display argc
- 查看正在跟踪的变量的信息: info display
- 取消跟踪变量: undisplay num
gdb跟踪core: