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 + ~ 打開(kāi)終端窗口,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
開(kāi)始調(diào)試
VSCode 按 F5 開(kāi)始調(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++使用數(shù)組來(lái)實(shí)現(xiàn)哈夫曼樹(shù)
給定N個(gè)權(quán)值作為N個(gè)葉子結(jié)點(diǎn),構(gòu)造一棵二叉樹(shù),若該樹(shù)的帶權(quán)路徑長(zhǎng)度達(dá)到最小,稱這樣的二叉樹(shù)為最優(yōu)二叉樹(shù),也稱為哈夫曼樹(shù)(Huffman?Tree)。哈夫曼樹(shù)是帶權(quán)路徑長(zhǎng)度最短的樹(shù),權(quán)值較大的結(jié)點(diǎn)離根較近2022-05-05C++宏函數(shù)和內(nèi)聯(lián)函數(shù)的使用
本文主要介紹了C++宏函數(shù)和內(nèi)聯(lián)函數(shù)的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07淺析C++字節(jié)對(duì)齊容易被忽略的兩個(gè)問(wèn)題
今天我就和大家分享一下C++字節(jié)對(duì)齊容易被忽略的兩個(gè)問(wèn)題。以下問(wèn)題也是我實(shí)際開(kāi)發(fā)工作中遇到的,如果有不同意見(jiàn)歡迎交流2013-07-07C語(yǔ)言中單鏈表的基本操作(創(chuàng)建、銷毀、增刪查改等)
這篇文章主要介紹了C語(yǔ)言中單鏈表的基本操作(創(chuàng)建、銷毀、增刪查改等),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02C/C++ Qt 自定義Dialog對(duì)話框組件應(yīng)用案例詳解
有時(shí)候我們需要一次性修改多個(gè)數(shù)據(jù),使用默認(rèn)的模態(tài)對(duì)話框似乎不太夠用,此時(shí)我們需要自己創(chuàng)建一個(gè)自定義對(duì)話框。這篇文章主要介紹了Qt自定義Dialog對(duì)話框組件的應(yīng)用,感興趣的同學(xué)可以學(xué)習(xí)一下2021-11-11C語(yǔ)言簡(jiǎn)明講解隊(duì)列的實(shí)現(xiàn)方法
隊(duì)列(Queue)與棧一樣,是一種線性存儲(chǔ)結(jié)構(gòu),它具有如下特點(diǎn):隊(duì)列中的數(shù)據(jù)元素遵循“先進(jìn)先出”(First?In?First?Out)的原則,簡(jiǎn)稱FIFO結(jié)構(gòu)。在隊(duì)尾添加元素,在隊(duì)頭刪除元素2022-04-04Qt各種字符轉(zhuǎn)換的實(shí)現(xiàn)示例
本文主要介紹了Qt各種字符轉(zhuǎn)換的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05