Linux下gdb调试之常用命令说明二

该博文是gdb调试常用命令介绍。该博文是接《Linux下gdb调试之常用命令说明一》博文对gdb调试中常用命令的继续介绍。

3. gdb调试之常用命令 3

调试指令作 用
(gdb) watch 表达式或 (gdb) watch 变量名watch 命令用来观察某个表达式 (变量也可视为一种表达式) 的值是否发生了变化,当被监测的变量被修改时,会自动中断程序,此时用户就可以看到变量在哪里被修改了
x 命令examine命令的缩写,x 命令功能是查看内存地址中的值,格式为:x/<n/f/u> ,例如,x/200a$sp:以16进制显示堆栈寄存器8k 大小栈空间内容(用于在栈破坏不严重时,用于恢复栈信息的命令)
(gdb) thread apply all bt 或 (gdb) thread apply 线程名 btthread apply all bt:查看所用线程堆栈信息 。/查看特定某个线程的堆栈信息
gdb) frame n根据栈帧编号或者栈帧地址,跳转到栈的某一帧,其中 n 会在bt命令中显示,从0开始。0表示栈顶。简写为f。
(gdb) catch eventevent 参数表示要监控的具体事件。catch 命令功能是建立捕捉断点。作用就是监控程序中某一事件的发生,例如程序发生某种异常时、某一动态库被加载时等,一旦目标时间发生,则程序停止执行
(gdb) finishfinish 命令会执行函数到正常退出该函数。实际调试时,我们在某个函数中调试一段时间后,不需要再一步步执行到函数返回处,希望直接执行完当前函数并回到上一层调用处,就可以使用 finish 命令。
(gdb) returnreturn 命令是立即结束执行当前函数并返回,也就是说,如果当前函数还有剩余的代码未执行完毕,也不会执行了。

4. gdb调试之常用命令 4

调试指令作 用
(gdb) path可设定程序的运行路径。某些场景中,目标调试程序的执行还需要临时修改 PATH 环境变量,此时就可以借助 path 指令。
(gdb) cd 工作目录更改 gdb 工作目录。默认情况下,gdb 调试器的工作目录为启动时所使用的目录。例如在 ~ 路径下启动的 gdb 调试器,其工作目录就为 ~(当前用户的 home 目录)。gdb 调试器提供有修改工作目录的指令,即 cd 指令。例如,cd /mnt/demo,GDB 调试器的工作目录就变成了 /mnt/demo。
(gdb) set pagination off 或 (gdb) set height 0对输出内容自动翻页。当输出多信息时,不会暂停。
(gdb) info functions 或 (gdb) info functions 正则表达式列出函数原型以及不带调试信息的函数。
(gdb)info address 变量名显示某个变量的地址信息。
(gdb)whatis p显示某个变量的类型。
(gdb) call 函数名() 或 (gdb) print 函数名()通过命令直接调用函数,注意:call 或 print 命令之后 + 函数名(),别忘记最后面有个括号!!!
5. gdb调试之常用命令 5
调试指令作用
(gdb) up进入上层栈帧。
(gdb) down进入下层栈帧。
(gdb) display 变量名跟踪查看一个变量,每次停下来都显示它的值。
(gdb) undisplay取消对先前设置的那些变量的跟踪
(gdb) until 或 (gdb) until location不带参数的 until 命令,可以使 gdb调试器快速运行完当前的循环体,并运行至循环体外停止。其中,参数 location 为某一行代码的行号。until 命令可以简写为 u 命令。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值