LINUX基础编程(六)gdb调试

相关参数

  • -g:生成能用gdb调试的可执行程序    gcc -c main.c  -g  -o app
  • 启动gdb调试(gdb  可执行程序名):gdb  app
  • 程序运行
    • start  //程序停在主程序第一行
    • r     //run缩写,程序停在第一个断点位置
  • gdb传参:set args   aaa  bbb  ccc

  • 查看代码--list
    • 查看当前文件
      • l(小写字母L)
      • l  行号
      • l   函数名
    • 非当前文件
      • l  文件名:行号
      • l  文件名:函数名
    • 设置显示的行数
      • set  listsize   n

gdb调试中直接按enter默认执行上一次输入的命令

  • b   n  //在第n行设置断点
  • b   函数名 //在函数前设置断点
  • b   文件名:行号
  • b   文件名:函数名
  • i    b  //查看设置断点的详细信息,i代表info

  • d   n   //删除编号为n的断点,d代表delete

  • dis    n//使编号为n的断点失效
  • ena   n//使能编号为n的断点

  • 设置条件断点      b  行号   if  变量==var

  • 调试相关命令
    • 打印变量名
      • p  变量名 
    • 打印变量类型
      • ptype 变量名
    • 向下单步调试 
      • n   表示next 
        • 不会进入函数体
      • s  表示step 
        •  会进入到函数内部
        • 跳出函数体:finish
          • 如果出不去,看一下函数体中的循环中是否有断点,如果有,删掉,或者设置无效
    • 继续运行gdb,停在下一个断点位置
      • c    表示continue 
    • 退出gdb
      • quit  -q
    • 变量的自动显示
      • display   变量名
      • 取消:udisplay   编号
        • i display  //查看编号
    • 从循环体直接跳出
      • u    表示until
        • 不能有断点
    • 直接设置变量等于某一值
      • set var  i=10
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值