本篇內(nèi)容介紹了“怎么使用Vscode-insiders的docker擴展”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!
創(chuàng)新互聯(lián)于2013年開始,先為崖州等服務建站,崖州等地企業(yè),進行企業(yè)商務咨詢服務。為崖州企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務解決您的所有建站問題。
VsCode是微軟第一款支持Linux的輕量級代碼編輯器,其功能介于編輯器與IDE之間,但更傾向于一個編輯器。Vscode有兩個版本,藍色的Vscode是非常穩(wěn)定的發(fā)行版本,Vscode-insiders,相當于Bate版本,測試版,會有一些新的功能。
本文使用Vscode-insiders 的Docker 和Remote - Containers 擴展,可以便捷地調(diào)試Apollo項目,而藍色的Vscode不具備該調(diào)試功能。
Vscode-insiders有兩種安裝方式,分別是Apt安裝和Deb包安裝。Vscode-insiders 和藍色的Vscode 可以同時使用,安裝Vscode-insiders 無需卸載藍色的Vscode。
Apt方式安裝:
1sudo apt-get update 2sudo apt-get install code-insiders
Deb方式安裝:
在 https://code.visualstudio.com/insiders/ 下載 Vscode-insiders 的Deb包,
1sudo dpkg -i code-insiders_xxx.deb
運行Vscode-insiders,在擴展欄中搜索 Docker 和 Remote - Containers 擴展并安裝。
在 https://code.visualstudio.com/docs/remote/containers 中可查看Docker擴展的詳細教程。
▲Docker安裝
▲Remote - Containers安裝
由于Apollo項目是用C++進行開發(fā),所以還需安裝C++擴展。
▲C++擴展
安裝完畢后如圖所示:
▲Docker 和 Remote - Containers 安裝圖示
關(guān)于如何構(gòu)建 Apollo3.5或5.0 已在Ubuntu14.04搭建GPU版本的百度Apollo3.5自動駕駛平臺詳細介紹。
1cd apollo 2bash docker/scripts/dev_start.sh 3bash docker/scripts/dev_into.sh 4bash scripts/bootstrap.sh
Apollo Docker 啟動后,打開Vscode-insiders,選中Docker圖標,出現(xiàn)Apollo鏡像,如圖所示:
▲啟動Vscode-insiders
右鍵選中Apolloauto/apollo:dev-x86_64-xxx 鏡像,選中Attach visual studio code(藍色的Vscode即使安裝了Docker擴展也沒有此選項)
▲選中Attach visual studio code
此時Vscode會自動打開一個新窗口加載Container,若左下角出現(xiàn) Attached container 字樣,則表示 Vscode 已加載完成。
▲Vscode 加載完成
然后選擇 【打開文件夾】,鍵入 /apollo/ 后確定。
▲鍵入 /apollo/
此時Vscode-insiders 已經(jīng)加載 Apollo 鏡像中的/apollo文件夾,接著打開擴展欄,在Docker中安裝C++ 擴展(部分電腦會自動安裝),安裝后點擊【重新加載】。
▲在Docker中安裝C++ 擴展
加載完成后即配置好環(huán)境。
▲加載完成
完成環(huán)境配置后,選擇【調(diào)試】-【打開配置】,自動打開 /Apollo/.vscode/launch.json 配置文件:
根據(jù)自己的需要,修改 Program 和 Args 參數(shù),即可調(diào)試Apollo單元測試程序,以下給出一個例子:
1{ 2 "version": "0.2.0", 3 "configurations": [ 4 5 { 6 "name": "(gdb) Launch", 7 "type": "cppdbg", 8 "request": "launch", 9 "program": "/apollo/bazel-bin/modules/perception/camera/test/camera_lib_lane_postprocessor_denseline_lane_postprocessor_test", 10 "args": [], 11 "stopAtEntry": false, 12 "cwd": "${workspaceFolder}", 13 "environment": [], 14 "externalConsole": false, 15 "MIMode": "gdb", 16 "setupCommands": [ 17 { 18 "description": "Enable pretty-printing for gdb", 19 "text": "-enable-pretty-printing", 20 "ignoreFailures": true 21 } 22 ] 23 } 24 ] 25}
打開對應的測試代碼文件,加入斷點,選擇【調(diào)試】-【啟動調(diào)試】,即可像其他IDE進行方便的代碼調(diào)試。
F10:單步調(diào)試
F11:單步跳入
Shift+F11:單步跳出
左側(cè)可直觀地看到堆棧和變量信息:
▲堆棧和變量信息
修改代碼后在Docker中運行Build,完成編譯后即可再次啟動調(diào)試。
Apollo開發(fā)者社區(qū)公眾號曾發(fā)過的《開發(fā)者說 | Apollo 3.5各功能模塊啟動過程解析》,詳細地介紹了Apollo3.5 的模塊啟動過程。
通過在 /apollo/cyber/mainboard/mainboard.cc 加入斷點,可以詳細地看到模塊的啟動過程(如何加載Dag和Conf文件進行初始化),極大地方便了開發(fā)者理解和調(diào)試Apollo模塊。
PS: Apollo3.0及以前的版本仍然可用此種方式調(diào)試,只需把 Program 改成Ros可執(zhí)行程序路徑,以及 Args改成對應的參數(shù)。
1{ 2 "version": "0.2.0", 3 "configurations": [ 4 5 { 6 "name": "(gdb) Launch", 7 "type": "cppdbg", 8 "request": "launch", 9 "program": "/apollo/bazel-bin/cyber/mainboard", 10 "args": ["-d","/apollo/modules/drivers/gnss/dag/gnss.dag"], 11 "stopAtEntry": false, 12 "cwd": "${workspaceFolder}", 13 "environment": [], 14 "externalConsole": false, 15 "MIMode": "gdb", 16 "setupCommands": [ 17 { 18 "description": "Enable pretty-printing for gdb", 19 "text": "-enable-pretty-printing", 20 "ignoreFailures": true 21 } 22 ] 23 } 24 ] 25}
▲調(diào)試Apollo板塊
“怎么使用Vscode-insiders的docker擴展”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!
網(wǎng)站欄目:怎么使用Vscode-insiders的docker擴展
文章鏈接:http://muchs.cn/article32/pidssc.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、自適應網(wǎng)站、手機網(wǎng)站建設、響應式網(wǎng)站、、企業(yè)網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)