gdb调试总结

0.前言

可执行程序的生成时,必须要加-g参数,这样才能调试;//gcc -g test.c -o test

gdb调试的是可执行程序;//gcc test

1、启动gdb调试

1)gdb  可执行程序

2)gdb -q 可执行程序 //表示不打印gdb版本信息,因为默认会打印gdb的一些信息

 2、退出gdb调试

quit (或q).

3、gdb调试

3.1list 

显示10行代码,若再次运行该命令则显示接下来的10行代码

 3.2run

使用gdb test只是装入程序,程序并没有运行,如果要使程序运行,在gdb提示符下输入run即可。

此时如果有错误,会在错误的地方停下。

3.3 以行号设置断点

 break 行号,然后 run.

 另外,还可以函数名作为断点, break  函数名  

使用 info breakpoints 查看当前所有的断点。

3.4查看变量或表达式的值

print  变量或表达式

3.5让程序继续执行到下一个断点或运行完

 continue

作用:让程序继续运行,直到下一个断点或运行完为止。

3.6让程序单步执行

next和step命令

作用:一次一条地执行程序代码

next和step的区别:

1)、如果遇到函数调用,next会把该函数调用当作一条语句来执行,再次输入next会执行函数调用后的语句

2)、step则会跟踪进入函数,一次一条地执行函数内的代码,直到函数的代码执行完,才执行函数调用后的语句

3.7结束当前调试

kill

例:(gdb) kill

Kill the program being debugged? (y or n) y

3.8使用core文件调试

方法1:

  • gdp  可执行程序  core文件

参考该文

方法2:

  • gdp  可执行程序
  • core-file  core的名字
  • bt

参考该文

方法3:

  • gdp  可执行程序
  • run

  

 

 定位到第10行中的段错误。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要对SLAM程序进行GDB调试,首先需要进入GDB调试环境。可以使用命令"gdb [程序名]"来进入GDB调试。例如,在ORB_SLAM3的ROS示例中,可以使用命令"gdb Stereo"进入GDB调试环境。 进入GDB调试后,可以使用一些常用的GDB命令进行调试。例如,可以使用"run"命令来运行程序,使用"break"命令设置断点,使用"step"命令逐行执行程序,使用"print"命令打印变量的值等等。这些命令可以帮助我们分析程序的执行过程和调试问题。 请注意,GDB是一个命令行模式的调试工具,因此需要熟悉一些基本的GDB命令才能进行有效的调试。在GDB调试过程中,可以通过加上"-q"参数来禁止输出一些不必要的信息,以便更清晰地查看调试信息。 总结一下,要对SLAM程序进行GDB调试,可以使用"gdb [程序名]"命令进入GDB调试环境,并使用一些常用的GDB命令进行调试,例如"run"、"break"、"step"、"print"等命令[2]。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [SLAM工具|GDB调试从入门到精通](https://blog.csdn.net/Yong_Qi2015/article/details/122463019)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [GDB调试 ORBSLAM3](https://blog.csdn.net/qq_41861406/article/details/125034738)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值