这篇文章主要介绍“如何调试Dreamview的启动问题”,在日常操作中,相信很多人在如何调试Dreamview的启动问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何调试Dreamview的启动问题”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
Dreamview的启动步骤
如果在docker / scripts / dev
序列中启动Dreamview时遇到问题,请首先检查是否使用了如下所示的正确命令。
$ bash docker/scripts/dev_start.sh $ bash docker/scripts/dev_into.sh $ cd /apollo $ bash apollo.sh build $ bash scripts/dreamview.sh
Dreamview启动失败
如果Dreamview无法启动,请使用下面的脚本检查Dreamview的启动日志并重新启动Dreamview。
# Start Dreamview in foreground to see any error message it prints out during startup $ bash scripts/dreamview.sh start_fe # check dreamview startup log $ cat data/log/dreamview.out terminate called after throwing an instance of 'CivetException' what(): null context when constructing CivetServer. Possible problem binding to port. $ sudo apt-get install psmisc # to check if dreamview is running from other terminal $ sudo lsof -i :8888 # kill other running/pending dreamview $ sudo fuser -k 8888/tcp # restart dreamview again $ bash scripts/dreamview.sh
用gdb调试
如果Dreamview的启动日志中没有任何有效内容,您可以尝试使用gdb调试Dreamview,请使用以下命令:
$ gdb --args /apollo/bazel-bin/modules/dreamview/dreamview --flagfile=/apollo/modules/dreamview/conf/dreamview.conf # or $ source scripts/apollo_base.sh; $ start_gdb dreamview
一旦gdb启动,按下r
和enter
键运行,如果Dreamview崩溃,然后用bt
获得回溯。
如果您在gdb backtrace中看到错误“非法指令”以及与 libpcl_sample_consensus.so.1.7 相关的内容,那么您可能需要自己从源代码重建pcl lib并替换docker中的那个。
这通常发生在您尝试在CPU不支持FMA/FMA3指令的机器上运行Apollo/dreamview时,它会失败,因为docker image附带的预构建的pcl lib是使用FMA/ FMA3支持编译的。
到此,关于“如何调试Dreamview的启动问题”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。