VSCode 搭建 Arm 遠(yuǎn)程調(diào)試環(huán)境的步驟詳解
簡(jiǎn)介
前提條件:
- 確保本機(jī)已經(jīng)安裝 VS Code。
- 確保本機(jī)已安裝 SSH client, 并且確保遠(yuǎn)程主機(jī)已安裝 SSH server。
- VSCode 已經(jīng)安裝了插件 C/C++。
本次搭建的環(huán)境:
- 主機(jī):windows 10
- 服務(wù)器:ubuntu 16.04
- VSCode 版本:February 2020 (version 1.43)
- Arm:海思 3559A (已配置好編譯工具鏈和 gdb server)
連接遠(yuǎn)程主機(jī)
Remote Development
首先安裝 Remote Development 插件,安裝完成之后:

如上圖所示,輸入:Remote-SSH:Connect to Host->Configure SSH Hosts->選擇一個(gè)config,配置信息:
# Read more about SSH config files: https://linux.die.net/man/5/ssh_config
Host Server
HostName 10.10.1.111
User name
其中:
- Host: 遠(yuǎn)程主機(jī)名稱。
- HostName: 遠(yuǎn)程主機(jī) IP。
- User: 連接用戶名。
輸入完畢后保存,左側(cè)會(huì)出現(xiàn)配置好的信息,右鍵登陸,可能需要密碼:

插件安裝
連接到 server 后會(huì)發(fā)現(xiàn),安裝的插件分為兩欄,可以在遠(yuǎn)程服務(wù)器安裝需要的插件:

遠(yuǎn)程主機(jī)命令行
Ctrl + ~ 打開終端窗口,VS Code 連接到遠(yuǎn)程主機(jī)后,就可以直接使用終端窗口在遠(yuǎn)程主機(jī)上執(zhí)行終端命令。
arm 遠(yuǎn)程調(diào)試
VSCode 配置
配置 gdb 的配置文件 launch.json:
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "cppdbg",
"request": "launch",
"name": "Debug for test",
"skipFiles": [
"<node_internals>/**"
],
"args": [],
"program": "${workspaceFolder}/build/bin/test.debug",
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"externalConsole": true,
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"miDebuggerPath":"/opt/hisi-linux/x86-arm/aarch64-himix100-linux/bin/aarch64-himix100-linux-gdb",
"miDebuggerServerAddress": "192.168.172.110:1234"
}
]
}
- type:調(diào)試的類型
- name:配置文件的名字
- request:配置文件的請(qǐng)求類型,有 launch 和 attach 兩種,具體看官方文檔
- program:可執(zhí)行文件的路徑和文件名稱
- args:主函數(shù)調(diào)用時(shí)傳入的參數(shù)
- stopAtEntry:設(shè)為true時(shí)程序?qū)和T诔绦蛉肟谔?/li>
- cwd:調(diào)試時(shí)的工作目錄
- externalConsole:調(diào)試時(shí)是否顯示控制臺(tái)窗口
- MIMode:指定 VS Code 連接的調(diào)試器,必須為 gdb 或者 lldb
- miDebuggerPath:調(diào)試器路徑
- miDebuggerServerAddress: 板子 ip
arm 上運(yùn)行 gdb server
./gdbserver :1234 test.debug
開始調(diào)試
VSCode 按 F5 開始調(diào)試:

斷點(diǎn)設(shè)置,變量、棧查看:

總結(jié)
到此這篇關(guān)于VSCode 搭建 Arm 遠(yuǎn)程調(diào)試環(huán)境的步驟詳解的文章就介紹到這了,更多相關(guān)VSCode Arm 遠(yuǎn)程調(diào)試環(huán)境內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C++ STL標(biāo)準(zhǔn)庫(kù)std::vector的使用詳解
vector 是表示可以改變大小的數(shù)組的序列容器,本文主要介紹了C++ STL標(biāo)準(zhǔn)庫(kù)std::vector的使用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03
C++的靜態(tài)成員變量和靜態(tài)成員函數(shù)詳解
這篇文章主要為大家介紹了C++的靜態(tài)成員變量和靜態(tài)成員函數(shù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助2021-12-12
C++實(shí)現(xiàn)LeetCode(159.最多有兩個(gè)不同字符的最長(zhǎng)子串)
這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(159.最多有兩個(gè)不同字符的最長(zhǎng)子串),本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07
C++中整形與浮點(diǎn)型如何在內(nèi)存中的存儲(chǔ)詳解
大家好!這期和大家分享整形和浮點(diǎn)型是如何在數(shù)據(jù)是如何在內(nèi)存中存儲(chǔ),下面文章具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-05-05

