溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么使用Vscode-insiders的docker擴展

發(fā)布時間:2021-12-13 14:28:51 來源:億速云 閱讀:278 作者:iii 欄目:云計算

本篇內(nèi)容介紹了“怎么使用Vscode-insiders的docker擴展”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

一、Vscode-insiders簡介

VsCode是微軟第一款支持Linux的輕量級代碼編輯器,其功能介于編輯器與IDE之間,但更傾向于一個編輯器。Vscode有兩個版本,藍色的Vscode是非常穩(wěn)定的發(fā)行版本,Vscode-insiders,相當于Bate版本,測試版,會有一些新的功能。

本文使用Vscode-insiders 的Docker 和Remote - Containers 擴展,可以便捷地調(diào)試Apollo項目,而藍色的Vscode不具備該調(diào)試功能。

二、安裝Vscode-insiders及擴展

安裝Vscode-insiders

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

安裝 Docker 和 Remote-Containers 擴展

運行Vscode-insiders,在擴展欄中搜索 Docker 和 Remote - Containers 擴展并安裝。


在 https://code.visualstudio.com/docs/remote/containers 中可查看Docker擴展的詳細教程。

怎么使用Vscode-insiders的docker擴展

▲Docker安裝

怎么使用Vscode-insiders的docker擴展

▲Remote - Containers安裝

由于Apollo項目是用C++進行開發(fā),所以還需安裝C++擴展。

怎么使用Vscode-insiders的docker擴展

▲C++擴展

安裝完畢后如圖所示:

怎么使用Vscode-insiders的docker擴展

▲Docker 和 Remote - Containers 安裝圖示

三、配置Vscode-insiders

啟動Apollo Docker

關(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

在Vscode-insiders中配置Apollo

Apollo Docker 啟動后,打開Vscode-insiders,選中Docker圖標,出現(xiàn)Apollo鏡像,如圖所示:

怎么使用Vscode-insiders的docker擴展

▲啟動Vscode-insiders

右鍵選中Apolloauto/apollo:dev-x86_64-xxx 鏡像,選中Attach visual studio code(藍色的Vscode即使安裝了Docker擴展也沒有此選項)

怎么使用Vscode-insiders的docker擴展

▲選中Attach visual studio code

此時Vscode會自動打開一個新窗口加載Container,若左下角出現(xiàn) Attached container 字樣,則表示 Vscode 已加載完成。

怎么使用Vscode-insiders的docker擴展

▲Vscode 加載完成

然后選擇 【打開文件夾】,鍵入 /apollo/ 后確定。

怎么使用Vscode-insiders的docker擴展

▲鍵入 /apollo/ 

此時Vscode-insiders 已經(jīng)加載 Apollo 鏡像中的/apollo 文件夾,接著打開擴展欄,在Docker中安裝C++ 擴展(部分電腦會自動安裝),安裝后點擊【重新加載】。

怎么使用Vscode-insiders的docker擴展

▲在Docker中安裝C++ 擴展

加載完成后即配置好環(huán)境。

怎么使用Vscode-insiders的docker擴展

▲加載完成

四、調(diào)試Apollo模塊和單元測試程序

調(diào)試Apollo單元測試程序

完成環(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è)可直觀地看到堆棧和變量信息:

怎么使用Vscode-insiders的docker擴展

▲堆棧和變量信息

修改代碼后在Docker中運行Build,完成編譯后即可再次啟動調(diào)試。

調(diào)試Apollo模塊

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}
 
怎么使用Vscode-insiders的docker擴展

▲調(diào)試Apollo板塊

“怎么使用Vscode-insiders的docker擴展”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI