栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

ros gdb调试

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

ros gdb调试

gdb 调试:

常规编译

然后使用gcc将其编译为可执行文件,同时使用-g表示该程序可调试:
gcc -g hello.c -o hello
接下来输入gdb -q + 可执行文件,启动gdb进行调试:
gdb hello
或
gdb -q hello

CmakeList及ROS下增加

step1

CmakeList.txt 中更改编译模式 Release 选项为Debug, 编译过程中如果报assert错误,注释掉或者修复一下,因为assert只在Debug模式下有效

set(CMAKE_BUILD_TYPE Debug)
add_definitions (-std=c++11 -O0 -fomit-frame-pointer -g -Wall -ggdb)
MESSAGE (STATUS "Build Option: -std=c++11 -O0 -fomit-frame-pointer -g -Wall")
step2

ros 节点采用lauch
tensorRt_infer.launch中在node 后增加 launch-prefix=“xterm -e gdb -ex run --args”

 
调试 

常用的命令:
输入list(l)即可查看程序源码:
输入run(r)开始运行程序,直到遇到“断点”或者“结束”:
bt backtrace 显示当前调用堆栈
print + 变量:查看变量值

whatis + 变量:查看变量数据类型
输入 break(b)+数字 可以对程序进行断点操作(数字就是设置断点的代码行数)

参考:
https://blog.csdn.net/Yan__Ran/article/details/123692242

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/994508.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号