常用gdb调试技巧整理
启动方法
1.gdb <program>
2.gdb <program> core
3.gdb <program> <PID>
=============================================================================================================
命令行参数
gdb命令行的 -args 参数
gdb环境中 set args 命令
=============================================================================================================
gdb中变量
可以查看运行时的变量,也可以直接设置程序中的变量,以模拟一些很难在测试中出现的情况,比较一些出错,或是switch的分支语句。使用set命令可以修改程序中的变量。
另外gdb也有变量,gdb的变量以$开头,比如打印数组中的每个元素,可以:
(gdb) set $i = 0
(gdb) p a[$i++]
.......然后一路回车下去了。
=============================================================================================================
常用命令
r ============>运行程序, run 命令简写
c ============>继续运行程序,continue命令缩写
l ============>列出源码, list 命令简写
b ============>设置断点,具体请看下面一节
info break ============>查看断点信息
n ============>单条语句执行,不进入函数,next 命令缩写
s ============>单条语句执行,进入函数,step命令缩写
p i ============>打印变量值,p