• gdb调试


    gcc a.c b.c c.c -o app

    gcc a.c b.c c.c -o app -g

      -g:会保留函数名和变量名

    1:启动gdb  

      gdb 可执行程序的名字

      gdb app

      给程序传参:set args xxxx xxxx

    2:查看代码--list

      l:默认main函数的文件,默认10行

      show listsize:修改默认显示行数

      set listsize 20:修改默认显示行数

      l 5:  l 行号 显示第5行的上下

      l main:  l 函数名字,显示main函数的上下

      l main.c:15:  显示main.cpp的上下文

      l main.c:function  显示main.cpp的function函数上下文

    3:断点操作-break/b

      设置断点:break/ b 行号/函数名/文件名:行号/文件名:函数名

      查看断点:info/i b

      删除断点:del/d num(断点的编号)(d 2 3 4) ( d 2-4)

      设置断点无效:dis num(无效)  

      断点生效:ena num(有效)

      设置条件断点: b 17 if i==10  (p i 查看i的值)

    4:调试相关命令

      start  :运行一行

      run/r :

      p i   :  print i(打印i)

      ptype i :  查看i的类型

      n         :  next 单步(不会进入函数体的内部)

      display i:   每次打印i

      i display:  

      undisplay num: 不输出显示

      c    : continu 继续走

      step    : 进入函数体的内部(单步但是会进入函数内部)

      finish  :退出函数体内部

      set var i=5 : 设置i的值

      until   :跳出当前循环

      q    :  退出

      

    作者:长风 Email:844064492@qq.com QQ群:607717453 Git:https://github.com/zhaohu19910409Dz 开源项目:https://github.com/OriginMEK/MEK 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利. 感谢您的阅读。如果觉得有用的就请各位大神高抬贵手“推荐一下”吧!你的精神支持是博主强大的写作动力。 如果觉得我的博客有意思,欢迎点击首页左上角的“+加关注”按钮关注我!
  • 相关阅读:
    UI自动化实现多浏览器运行
    【转】C#操作XML方法集合
    日拱一卒
    敏捷开发- planning会议中的开会趣事
    敏捷开发- 可行走的骨骼
    敏捷开发- 测试人员何去何从
    Nunit & Specflow
    [转]根本原因分析(Root Cause Analysis)
    Selenium 中抓取dropdown
    网页模板
  • 原文地址:https://www.cnblogs.com/zhaohu/p/8644165.html
Copyright © 2020-2023  润新知