GDB调试常用参数

调试开始:执行gdb [exefilename] ,进入gdb调试程序,其中exefilename为要调试的可执行文件名。

## 以下命令后括号内为命令的简化使用,比如run(r),直接输入命令 r 就代表命令run
$(gdb)help(h)   # 查看命令帮助,具体命令查询在gdb中输入help + 命令 
$(gdb)run(r)    # 重新开始运行文件(run-text:加载文本文件,run-bin:加载二进制文
件)
$(gdb)start     # 单步执行,运行程序,停在第一行执行语句
$(gdb)list(l)   # 查看原代码(list-n,从第n行开始查看代码。list+ 函数名:查看具体函
数)
$(gdb)set       # 设置变量的值
$(gdb)next(n)   # 单步调试(逐过程,函数直接执行)
$(gdb)step(s)   # 单步调试(逐语句:跳入自定义函数内部执行)
$(gdb)backtrace(bt) # 查看函数的调用的栈帧和层级关系
$(gdb)frame(f)  # 切换函数的栈帧
$(gdb)info(i)   # 查看函数内部局部变量的数值
$(gdb)finish    # 结束当前函数,返回到函数调用点
$(gdb)continue(c)   # 继续运行
$(gdb)print(p)  # 打印值及地址
$(gdb)quit(q)   # 退出gdb

$(gdb)break+num(b)          # 在第num行设置断点
$(gdb)info breakpoints      # 查看当前设置的所有断点
$(gdb)delete breakpoints num(d) # 删除第num个断点
$(gdb)display               # 追踪查看具体变量值
$(gdb)undisplay             # 取消追踪观察变量
$(gdb)watch                 # 被设置观察点的变量发生修改时,打印显示
$(gdb)i watch               # 显示观察点
$(gdb)enable breakpoints    # 启用断点
$(gdb)disable breakpoints   # 禁用断点
$(gdb)x                     # 查看内存x/20xw 显示20个单元,16进制,4字节每单元
$(gdb)run argv[1] argv[2]   # 调试时命令行传参
$(gdb)set follow-fork-mode child#Makefile项目管理:选择跟踪父子进程(fork())

注:

  1. 编译程序时需要加上-g,之后才能用gdb进行调试:gcc -g main.c -o main
  2. 回车键:重复上一命令
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值