這篇文章主要介紹“如何調試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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。