常用命令
- l “n”:从程序第n行起列出10行程序
- b “n”:在第n行添加断点
- r:启动程序
- n:向下一步,不进入回调函数
- s:向下一步,可进入回调函数
- p “var”:打印当前变量var的值
- continue:向下继续执行
- q:退出gbd调试
- start:直接开始单步调试
- finish:退出回调函数
- until “n”:直接运行到第n行,若不加参数则退出当前循环
- set arg “arg1 arg2...”:设置main参数
- run “arg1 arg2...”:设置main参数并运行
- b “n” if ...:设置条件断点
- info b:查看所有断点信息
- ptype “var”:查看变量var类型
- bt:查看程序栈帧
- frame “n”:切换到第n个栈帧
- display “var”:跟踪打印var变量值;取消跟踪为undisplay “n”,取消编号为n的变量跟踪
栈帧:
每次函数调用会在此开辟一段空间,用于存放函数的临时变量和局部变量(包含形参,形参与局部变量等同)
使用p命令或ptype命令,实际上就是进入当前函数的栈帧中观察内部变量