当前位置: 首页 > news >正文

【Linux】cgdb调试工具的使用

文章目录

  • cgdb的使用
    • debug vs release模式
    • 调试

cgdb的使用

相比于vscode的调试,cgdb不吃性能,cgdb比gdb更好用,这让cgdb成为一个十分好用的调试工具,当然,也可以通过打印日志的方式进行调试,本文讲解cgdb的使用。

debug vs release模式

在使用vs时候,我们可以选择以release或者debug形式进行编译,使用release方式编译后的程序不能进行debug调试,与此同时编译器也会在release下进行一定的优化,比如inline展开、使用寄存器存储常用的数据、死代码优化等。debug模式下,编译器会在形成的可执行文件中添加debug信息,方便调试。

那么如何在Linux环境下使用gcc编译器以release/debug方式编译程序呢?

  • gcc -o myprocess myprocess.c -std=c99 -g,其中-g选项就是以debug形式编译的意思。

  • gcc -o myprocess myprocess.c -std=c99,默认就是以release形式编译。

那么怎么查看你生成的可执行程序是可以正常debug的呢?

  • readelf -S my_debug | grep -i 'debug',使用readelf -S查看文件的二进制节(后面讲解文件的ELF格式会详细讲解这个命令,grep完成筛选),可以发现以debug形式编译后的可执行文件有debug相应字段,这就说明可以正常调试了。

请添加图片描述

调试

  • cgdb 文件名进入cgdb模式

  • l <行数>从所在行展开十行代码观看,不加行数默认从上次展开处再展开。

  • b

    • b <文件名>+ 行数:在指定行打断点

    • info b:查看断点信息(是否被禁用、是否有条件,条件是什么、断点编号是多少……)

    • d + 断点编号删除断点,d breakpoints删除所有断点。

    • b <文件名> + 函数:在指定函数入口打断点

    • if i=10if参数放在b后面,设置条件断点

    • disable 断点编号禁用断点enable开启

  • 查看变量信息

    • p i查看变量i信息,p &i查看i的地址
    • display i 常驻i变量,undisplay 常驻编号删除常驻
  • 运行

    • r:运行
    • n:逐过程
    • s:逐语句(单步进入函数)
    • until + 行数运行到指定行
    • c运行到下个断点处
    • finish完成当前函数后返回、停止
    • bt查看函数堆栈
  • info i查看正在debug的程序信息(哪个路径)

  • info local查看当前堆栈临时变量

  • watch i变量i被修改时有提示

  • set var flag = 1更改指定变量值,验证方案是否正确

http://www.dtcms.com/a/424318.html

相关文章:

  • 南京建设网站要多少钱线上推广活动
  • 做网站专题页需要注意什么app制作开发报价
  • iTerm2使用Shell Integration优雅地实现单个文件上传与下载
  • 怎样做网站漂浮精通网站开发
  • 西安网站制作sxyun昆明网站建设公司哪家好
  • 突破NER性能瓶颈:BERT与LLM协同的混合架构实践
  • 网站建设与管理课件seo排名优化联系13火星软件
  • 网站做前端去国外做外卖网站
  • 分布式任务事务框架设计与实现方案
  • 漳州 网站建设多少钱成都旅游攻略景点必去
  • pytorch基本运算-torch.normal()函数生成的随机数据添加噪声
  • 通辽建设工程网站网上做效果图网站有哪些
  • DragonBalls_One013
  • 湖南网站建设哪家有定制软件如何收费
  • 专门做招商的网站是什么wordpress两栏
  • 七彩喜艾灸机器人:传统技艺与AI的共生共舞
  • svn: E200009
  • SVN 主分支合并之通过主分支合并子分支操作流程
  • 个人做美食视频网站本地网站地图生成器
  • 长沙的企业网站建设网站上线详细步骤
  • CY3-草氨酸的化学研究中的应用
  • 哪家公司建站比较好建筑英才招聘网
  • 优时代网站建设数据型网站 建设方案
  • java后端工程师进修ing(研一版‖day50)
  • 正常成都建设网站组织建设情况怎么写
  • 网站建设与管理模拟题1镇江网站建设公司
  • 百度网站统计添加网址苏州知名网站建设建站公司
  • 线程池性能分析与优化完全指南
  • 企业模板免费下载seo精灵
  • wordpress+整站下载前端开发和后端开发哪个赚钱