gdb调试命令

gdb

gdb(GNU symbolic debugge)是 Linux 下常用的程序调试器。要想使用gdb需要在编译选项中加入-g选项,如果没有-g,你将看不见程序的函数名、变量名,所代替的全是运行时的内存地址,无法进行调试。

gdb功能

gdb主要帮助我们完成以下功能:

  • 启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。
  • 可让被调试的程序在你所指定的调置的断点处停住。(断点可以是条件表达式)
  • 当程序被停住时,可以检查此时你的程序中所发生的事。
  • 你可以改变你的程序,将一个BUG产生的影响修正从而测试其他BUG。

gdb命令

启用gdb,输入:help可以看到gdb的命令分为以下几大类:

running(运行)

  • run/r:开始调试程序。使用run程序将从头开始连续执行,直到断点或程序结束。如果在断点处停下再次使用run,可以确认程序重新启动。还可以在run后面直接跟传入的参数,在main函数中可以通过argv参数访问传入的值。
  • start:运行调试程序,直到主程序开始。再次使用start可以确认程序重新启动。注意:使用start程序将停在开始处,相当于main函数左括号处。
  • continue/c:继续执行调试程序。当程序停在断点处,使用continue程序将连续执行,直到下一断点或程序结束。
  • next/n:单步执行。注意:当发生函数调用时,该指令不会进入函数内部单步执行,将直接将调用函数执行完毕。
  • step/s:单步执行。如果函数没有调用其它函数则与next没有区别,如果发生函数调用,会进入到调用函数内。
  • finish/fi:结束当前调用函数,回到上一层调用函数处。
  • until/u:在一个循环体内单步跟踪时,这个命令可以运行程序直到退出循环体。

breakpoints(断点)

  • break/b:在指定位置设置断点。位置的确定可以时文件名,函数名&#x

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值