我目前正在尝试使用运行 Ubuntu MATE 16.04 LTS 的 Rapsberry Pi 上的 ROS 构建自主无人机。解决现在识别红圈的计算机视觉问题。
我不断收到this问题中的错误。为了帮助我解决这个问题,我决定使用gdb。但是,命令rosrun --prefix 'gdb run --args' zlab_drone vdstab
似乎对我不起作用。 zlab_drone
是包的名称,vdstab
是我尝试运行的可执行文件的名称。由于这是在ROS环境中,我已经从here获取了语法,并使用了this question中的建议。
当我调用此命令时,即使使用tui
,我也会得到一个SIGSEGV
,当我在list
内部调用gdb
时,该程序不会停留在特定的指向并保持列出不同的行,直到超出范围。这是一个非常奇怪的问题。
答案 0 :(得分:0)
嗯,在你提到的link中,它明确指出你应该使用:
launch-prefix="xterm -e gdb --args" : run your node in a gdb in a separate xterm window, manually type run to start it
或:
launch-prefix="gdb -ex run --args" : run your node in gdb in the same xterm as your launch without having to type run to start it
所以,看起来你错过了 -ex 作为评论中的@ ks1322 suggeseted,或者只需输入运行来启动调试过程。
答案 1 :(得分:0)
我发现了this与Raspberry Pi完全相关的独家错误。基本上,解决方案包括,正如彼得班纳特所引用的那样:
有一种解决方法。启动程序,然后从另一个命令启动 提示或从ssh远程登录,使用gxx -p xxxxx,其中xxxxx是 流程编号。这没有崩溃。如果你需要调试 在你可以从另一个命令进入之前发生的事情 提示,向程序添加一个停止进程的命令 主要的开始,例如对get的调用,它将等待你 在继续之前按Enter键。