gdb 调试工具

gdb 调试工具

常用命令

  • g: 使用该参数编译可以得带可执行文件,得到调试表。
  • list 100: 从第100行开始显示代码
  • list或者l: 显示代码
  • b 52: 在52行设置一个断点
  • b 20 if i = 2:设置条件断点。一般用于循环中
  • info b: 查看gdb调试表中的所有断点
  • run或者r:执行程序,遇到断点停止
  • n: 执行下一步,如果当前行是函数,不进入函数
  • s: 执行下一步,如果当前行是函数,进入函数。如果该函数是系统函数,可能找不到这个系统函数进入,退出的方法是:until 16, 16行代码是调用系统函数这样代码之后的代码。
  • p i(print i):查看变量i的值。
  • ptype i: 查看i的变量类型
  • continue:到下一个断点继续执行。
  • quit:退出当前调试
  • start:不需要设置断点,直接从第一行执行
  • finish: 跳出当前的函数。也就是结束当前函数调用。
  • set args aa bb cc: 设置main参数列表。应该在start命令之前执行,或者在断点模式下可以改为run aa bb cc
  • bt(backtrace): 列出当前程序正在存活的栈帧
  • frame 1: 切换栈帧
  • display i:每次执行都显示i值,取消方法是undisplay <跟踪变量i的编号>。

栈帧

栈帧:随着函数调用而在 stack 上开辟的一片内存空间。用于存放函数调用时产生的局部变量和临时值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值