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

【Linux】基础开发工具gdb

Linux基础开发工具gdb

1、Debug和release

程序的发布方式有两种,Debug和release模式,Debug模式是开发者模式,用户最终用的是release,在Debug模式下,因为增加了调试信息,所以可执行文件体积较大,gcc/g++ 默认编译出来的程序是Release 版本,如果想在Debug模式下得到可执行程序,那么需要输入:

gcc mycmd.c-o mycmd-g

通过readelf mycmd-debug -S | grep debug指令,可以将二进制文件中与Debug有关的部分过滤出来,打印出mycmd-debug在Debug模式下的信息

2、gdb常用指令

mycmd.c

#include<stdio.h>intSum(ints,inte){intresult=0;inti=s;for(s;i<=e;i++){result+=i;}returnresult;}intmain(){intstart=1;intend=100;printf("I will begin\n");intn=Sum(start,end);printf("running done, result is: [%d~%d]=%d\n",start,end,n);return0;}

输入gdb,进入gdb环境

输入q退出

  • 输入listl:显示源代码

  • 输入l numlist num:查看文件第num行附近代码

  • 输入runr:运行程序

打断点时,使用gdb不方便查看断点,以下使用cgdb进行调试

  • 输入b 行号:设置断点
  • 输入info b 行号:查看所有断点信息

  • 输入d num:删除断点

  • nnext:逐过程单步执行面部进入函数内部

  • sstep:逐语句单步执行,进入函数内部

断点为第18行:

  • 输入p 变量:打印变量或表达式的值

p为单次打印,单步执行,不会自动刷新,打印变量的值不会变化

  • display 变量名:跟踪监视,程序每次暂停,自动打印变量
  • undisplay num:取消对先前变量的跟踪

  • 输入until x:跳转至x行

  • 输入finish:执行到当前函数结束,暂停在函数调用处,打印返回值

$1是 gdb 保存返回值的变量,5050就是 Sum 函数 return 带回的结果

  • 输入continuec:从当前断点直接运行到下一个断点

  • disable breakpoints:禁用断点
  • enable breakpoints:启用被禁用的断点
  • backtracebt:查看函数调用栈
  • info locals:查看当前函数局部变量
  • set var:修改变量的值
http://www.jsqmd.com/news/1285025/

相关文章:

  • JDK 17 安装与环境变量配置全攻略:从官网下载到多版本管理
  • Qt文件元数据操作:QFileInfo核心功能与跨平台实践指南
  • 掌控板2.0无线遥控智能小车:基于Radio模块与mPythonX的实战指南
  • VLC媒体播放器转码功能实战:从基础操作到高效批量处理
  • 2026年7月幕墙不锈钢钢丝绳/泰州电梯不锈钢钢丝绳厂家推荐评选_泰州市凯威不锈钢制品有限公司 - 品牌宣传支持者
  • PLC与电脑联机全攻略:从驱动安装到远程访问实战
  • 金融行业全球EMBA:企业家择校选择指南
  • A2B总线技术:汽车音频系统低延迟、低成本数字传输方案详解
  • 2026 年现阶段,黄山知名的氢氧化钙粉末源头厂家哪家靠谱,别再被生石灰骗了!这玩意儿居然是厨房除垢的隐形王牌? - 企业推荐官【认证】
  • 运算放大器共模抑制比(CMRR)原理、实战选型与设计避坑指南
  • Docker的端口映射
  • 2026 年最佳笔记本电脑坞站推荐:多类型适配,满足不同需求!
  • CTF逆向工程入门:从工具使用到实战分析的完整学习路径
  • Logisim存储器设计:从地址译码到Cache映射的计算机组成原理实践
  • STM32编码器测速实战:从硬件配置到软件滤波的完整方案
  • sssm291生鲜配送系统设计及实现+jsp(文档+源码)_kaic
  • 2026年7月江苏貂绒/常熟小米貂厂家优选名单_常熟市茂祥布业有限公司 - 行业平台推荐
  • 2026实盘行情前端工程实践:WebGL渲染、WebSocket优化与React状态架构
  • Java开发入门:JDK安装、环境变量配置与多版本管理实战指南
  • 2026年7月刮板回收式喷砂房/气力回收式喷砂房厂家口碑推荐_盐城大丰中信机械有限公司 - 品牌宣传支持者
  • 2026 年至今,子洲口碑好的输送链轮销售厂家联系电话,别再乱选传动零件了,这玩意儿居然能让生产线效率翻三倍还零故障? - 行业推荐【认证官】
  • 数字孪生三维可视化引擎选型指南与技术实践
  • 嵌入式开发内存管理:堆栈、Flash、RAM与程序段深度解析
  • 2026年7月台州液体滤袋/台州压滤机滤袋优质厂家推荐_台州博远环保科技有限公司 - 品牌宣传支持者
  • SSRF漏洞深度解析:从原理到实战攻防与防御体系构建
  • 公路隧道直流抗干扰照明解析:工业级稳定照明软硬件实现思路
  • 今夕语音中枢一键整合包:本地 LuxTTS 发声 + Whisper 听觉 + AIRI一键接入听觉和发声模块
  • 2026年7月跨年灯光美陈装置/国庆户外美陈布置公司热门推荐_天津博涛广告有限公司 - 品牌宣传支持者
  • AI大模型课程|非计算机专业转行人工智能,好就业吗?
  • Shader高级纹理实战:从法线贴图到多纹理混合材质开发