VSCode 搭建 Arm 遠(yuǎn)程調(diào)試環(huá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->選擇一個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è)會出現(xiàn)配置好的信息,右鍵登陸,可能需要密碼:
插件安裝
連接到 server 后會發(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:配置文件的請求類型,有 launch 和 attach 兩種,具體看官方文檔
- program:可執(zhí)行文件的路徑和文件名稱
- args:主函數(shù)調(diào)用時傳入的參數(shù)
- stopAtEntry:設(shè)為true時程序?qū)和T诔绦蛉肟谔?/li>
- cwd:調(diào)試時的工作目錄
- externalConsole:調(diào)試時是否顯示控制臺窗口
- 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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C++使用數(shù)組來實(shí)現(xiàn)哈夫曼樹
給定N個權(quán)值作為N個葉子結(jié)點(diǎn),構(gòu)造一棵二叉樹,若該樹的帶權(quán)路徑長度達(dá)到最小,稱這樣的二叉樹為最優(yōu)二叉樹,也稱為哈夫曼樹(Huffman?Tree)。哈夫曼樹是帶權(quán)路徑長度最短的樹,權(quán)值較大的結(jié)點(diǎn)離根較近2022-05-05C++宏函數(shù)和內(nèi)聯(lián)函數(shù)的使用
本文主要介紹了C++宏函數(shù)和內(nèi)聯(lián)函數(shù)的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07C語言中單鏈表的基本操作(創(chuàng)建、銷毀、增刪查改等)
這篇文章主要介紹了C語言中單鏈表的基本操作(創(chuàng)建、銷毀、增刪查改等),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-02-02C/C++ Qt 自定義Dialog對話框組件應(yīng)用案例詳解
有時候我們需要一次性修改多個數(shù)據(jù),使用默認(rèn)的模態(tài)對話框似乎不太夠用,此時我們需要自己創(chuàng)建一個自定義對話框。這篇文章主要介紹了Qt自定義Dialog對話框組件的應(yīng)用,感興趣的同學(xué)可以學(xué)習(xí)一下2021-11-11C語言簡明講解隊(duì)列的實(shí)現(xiàn)方法
隊(duì)列(Queue)與棧一樣,是一種線性存儲結(jié)構(gòu),它具有如下特點(diǎn):隊(duì)列中的數(shù)據(jù)元素遵循“先進(jìn)先出”(First?In?First?Out)的原則,簡稱FIFO結(jié)構(gòu)。在隊(duì)尾添加元素,在隊(duì)頭刪除元素2022-04-04Qt各種字符轉(zhuǎn)換的實(shí)現(xiàn)示例
本文主要介紹了Qt各種字符轉(zhuǎn)換的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05