GDB调试的几个实用命令

gdb手册 无论是PC还是嵌入式Linux应用开发,GDB是不可或缺的试工具,本文总结一些常用技巧。 阅读详情

1.   编译程序进入gdb,命令都是'$'之后的字符串

    终端下输入:

          $ cc -g hello.c  -o hello
          $ gdb  ./hello                     //进入gdb,这个时候显示gdb的信息

     如果你的程序需要参数

         $ gdb --args   ./hello  参数1  参数2 (等等)

2. 下面是几个对应vc里面常用的命令,在gdb下输入命令,命令是'(gdb)'之后的字符

         (gdb) r                       //运行run的缩写
         (gdb) q                      //退出gdb,quit的缩写

         (gdb) l                        //(list的首字母,不是竖线|)显示当前行前后的源程序
         (gdb) l 100                //显示第100行前后的源程序,l  +行号,显示某行上下的源程序
         (gdb) l sort                //显示sort函数的源代码,l +函数名,显示函数的源代码

         (gdb) b 8                   //在第8行下断点,b是break的缩写,b+行号 ,在某行下断点
         (gdb) tbreak  sort     //在函数sort处设置临时断点,到达后删除, tbreak+行号/函数名,设置临时断点
         (gdb) clear 8             //删除第8行的断点
         (gdb) clear                //清楚所有断点

         (gdb) n                       //单步执行,step over,不进入函数,next的缩写
         (gdb) s                       //单步执行,step in,进入函数,step的缩写
         (gdb) u 20                 //执行到第20行,u是until的缩写
         (gdb) c                       //继续执行,continue的缩写



3.其他更高级命令请参考http://www.cnblogs.com/lidabo/p/4234362.html,感谢博主的分享.



【GDB】——常用命令 GDB 常用命令 阅读详情

相关推荐

告别Keil手动分区!用CubeMX+VS Code一键生成带Bootloader的STM32 OTA工程

本文详细介绍了如何利用STM32CubeMX和VS Code实现STM32 OTA工程的自动化构建,告别传统Keil手动分区的繁琐流程。通过图形化配置Flash分区、自动生成链接脚本以及实现Bootloader跳转逻辑,开发者可以高效完成远程升级功能开发,显著提升嵌入式开发效率。

weixin_33720956的博客 389

gdb下next,stepin,stepout

next 指令格式next count | n count count表示在最外层执行count行后停下. 遇到函数不会跳转进去.循环也会一次次的执行. until | u 是next的加强版,即使是for中也往下跳. 不过跳是执行完循环后的结果. 但是如果要退出,也会暂停. until location 执行到对应地址后停止.如果无法到可能会退出程序或一直执行. step next的加强版,可以跳转到函数内部,前提是函数有对应的调试信息. step count 重复执行count次 后停止,也会因为断点和

rubikchen的博客 2764

基于Arduino与Velostat的智能鞋垫:DIY足底压力监测系统全解析

压力传感器是物联网和健康监测领域的基础元件,其核心原理是将物理压力转换为可测量的电信号。通过压阻效应,材料的电阻值随压力变化,从而实现压力感知。这项技术为低成本、定制化的健康监测方案提供了可能,尤其在运动分析和康复训练中具有重要价值。本文聚焦于利用Velostat压敏材料和Arduino平台,详细解析如何从传感器制作、信号调理到无线数据传输,构建一套完整的足底压力监测系统。文中深入探讨了传感器阵列构建、信号滤波等关键技术,并针对常见问题提供了实用的解决方案,为创客和开发者实现可穿戴健康监测设备提供了清晰的工

weixin_32818781的博客 401

gdb调试Tips

step into就是单步执行,遇到子函数就进入并且继续单步执行; step over是在单步执行时,在函数内遇到子函数时不会进入子函数内单步执行,而是将子函数整个执行完再停止,也就是把子函数整个作为一步。 step out就是但单步执行到子函数内时,用step out就可以执行完子函...

399

二十一、SAP-库存管理

业务逻辑、功能讲解、图文解析、章节总结

m0_72403327的博客 1810

深度学习-161-Dify工具之对比使用工作流和聊天流生成图表可视化的html文件

分别使用聊天流和工作流进行数据分析结果的可视化,生成html文件。聊天流可以配置带记忆,这样就可以多次交互优化结果。

qq_20466211的博客 1709

Linux下的的GDB调试技巧四 —— 常用调试命令(1)

Linux下的的GDB调试技巧四 —— 常用调试命令(1)

phmatthaus的专栏 1590

学Simulink--基于机器人与自动化系统的场景实例:六自由度机械臂的逆运动学控制仿真

摘要:本文详细介绍了在Simulink中实现六自由度机械臂逆运动学控制的仿真方法。通过构建包含机械臂模型、路径规划器、逆运动学求解器和控制器等模块的系统,利用MATLAB Robotics工具箱进行建模。文章逐步讲解了从模型创建、轨迹规划、逆运动学求解到控制器设计的完整流程,并提供了性能评估标准。该方法能有效验证逆运动学算法,优化机械臂控制策略,提高操作精度和效率,为机器人自动化系统开发提供实用参考。

xiaoheshang_123的博客 230

GDB使用技巧(2)——GDB命令

DB的命令概貌 启动gdb后,就你被带入gdb的调试环境中,就可以使用gdb的命令开始调试程序了,gdb的命令可以使用help命令来查看,如下所示: /home/hchen> gdb GNU gdb 5.1.1 Copyright 2002 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it

huabiaochen的博客 718

Python时间序列:PaddleTS-时间序列分类

评估的指标采用F1,Precision,Recall,PaddleTS已经基于TSDataset实现了这三个指标的计算,直接调用即可。使用内置的API:get_dataset加载BasicMotions数据集。模型训练完成之后,可以对测试集进行预测并评估。模型保存之后,可以加载模型用于新的数据预测。可以将训练完成的模型保存到指定路径。概率预测 可以返回每个分类的概率。安装paddlets。

斌擎科技 1292

Qt QTableView排序

在开发过程中,我们需要通过点击表头来对QTableView或QTreeView等一系列高级视图进行排序操作,以下是进行排序的步骤。首先创建了一个QStandardItemModel对象或者继承QAbstractTableModel类作为数据模型,并设置了一些数据。然后创建一个QTableView对象,并将数据模型设置为其模型。接下来,创建一个QSortFilterProxyModel对象,并将QStandardItemModel对象设置为其源模型。然后设置QTableView开启排序功能。

希望能帮助大家,希望大家多多支持,你们的支持是我前进的动力。 2644

聊一聊 GDB 调试程序时的几个实用命令

GDB 有很多实用的命令这里就不逐一介绍了,至少在 Linux 上是霸主一样的存在,真搞不懂 netcore 的调试要和 lldb 扯在一块,简直是不走寻常路哈 😂😂😂。

一线码农的专栏 1053

NVIDIA Isaac Sim 联合 VS Code 开发调试环境配置

在 Visual Studio Code (VS Code) 中打开 Isaac Sim 软件包主文件夹,即可打开该工作区。注意建议在学习教程和示例时使用 Visual Studio Code。另请参见有关 VS Code 工作区的详细信息,请参阅 Visual Studio Code (VS Code) 文档。

2506_90492529的博客 3104

GDB在调试Zend引擎时的几个重要的用法

GDB 调试Zend引擎

永不放弃的地盘 1271

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

GDB调试命令详解

GDB是什么 调试程序 程序中出现的语法错误可以借助编译器解决;但逻辑错误则只能靠自己解决。实际场景中解决逻辑错误最高效的方法,就是借助调试工具对程序进行调试。 所谓调试(Debug),就是让代码一步一步慢慢执行,跟踪程序的运行过程。比如,可以让程序停在某个地方,查看当前所有变量的值,或者内存中的数据;也可以让程序一次只执行一条或者几条语句,看看程序到底执行了哪些代码。 也就是说,通过调试程序,我们可以监控程序执行的每一个细节,包括变量的值、函数的调用过程、内存中数据、线程的调度等,从而发现隐藏的错误或者低

Hello World 9万+

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

linux—常用gdb调试命令汇总

如果是函数递归调用,当还没开始递归时,finish会执行完整个函数,自动走完全部递归过程(前提无断点)。因为在linux系统下,默认生成的可执行程序是release版,但是调试需要debug版本。*gdp会自动记录最近的命令,如果没有输入其他命令,可以按enter键继续执行最近命令。需要注意的是,不能直接写变量名,变量编号使用infodisplay即可知道。如果我们需要在调试中一直显示某个变量的值,那么就需要display命令了。需要注意的是,这种方法只能显示一次变量值,当继续调试时变量不再显示。...

weixin_61857742的博客 2万+

GDB调试命令大全

使用singal命令,可以产生一个信号量给被调试的程序。如:中断信号Ctrl+C。这非常方便于程序的调试,可以在程序运行的任意位置设置断点,并在该断点用GDB产生一个信号量,这种精确地在某处产生信号非常有利程序的调试。single命令和shell的kill命令不同,系统的kill命令发信号给被调试程序时,是由GDB截获的,而single命令所发出一信号则是直接发给被调试程序的。UNIX的系统信号量通常从1到15。所以取值也在这个范围。

z2812470857的博客 3669

GDB中应该知道的几个调试方法

GDB中应该知道的几个调试方法 2011年2月10日陈皓发表评论阅读评论7,869 人阅读     七、八年前写过一篇《用GDB调试程序》,于是,从那以后,很多朋友在MSN上以及给我发邮件询问我关于GDB的问题,一直到今天,还有人在问GDB的相关问题。这么多年来,有一些问题是大家反复在问的,一方面,我觉得我以前的文章可能没有说清楚,另一方面,我觉得大家常问的问题正是最有

jfkidear的专栏 7220

GDB调试命令

GDB是Linux下常用的程序调试工具,主要用于排查语法和逻辑错误。

weixin_45888613的博客 903

gdb调试命令解析

gdb调试命令解析

Morso的博客 1117

gdb调试命令

用GDB调试程序 GDB是一个强大的命令行调试工具。大家知道命令行的强大就是在于,其可以形成执行序列,形成脚本。UNIX下的软件全是命令行的,这给程序开发提代供了极大的便利,命令行软件的优势在于,它们可以非常容易的集成在一起,使用几个简单的已有工具的命令,就可以做出一个非常强大的功能。 于是UNIX下的软件比Windows下的软件更能有机地结合,各自发挥各自的长处,组合成更为强...

cool grass's blog 2345

gdb 调试命令的使用及总结

GDB: The GNU Project Debugger:http://www.gnu.org/software/gdb/documentation/ 参考:http://www.jianshu.com/p/30ffc01380a0 参考:https://www.ibm.com/developerworks/cn/linux/l-cn-gdbmp/...

墨鱼菜鸡 3085
上一篇: 算法拾遗
下一篇: vim技巧
WayToAccept
博客等级 码龄14年 21粉丝 56原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值