vscode中怎麼遠端gdb調試?方法詳解

青灯夜游
發布: 2023-04-11 19:14:43
轉載
2895 人瀏覽過

vscode中怎麼遠端gdb調試?以下這篇文章跟大家介紹一下vscode遠端gdb調試的方法,希望對大家有幫助!

vscode中怎麼遠端gdb調試?方法詳解

最近在同事的安麗下,嘗試了用 vscode 做 gdb 調試,用完之後,「真香」。

話不多說,本文要實現的是:在 windows 端遠端調試 linux 伺服器和 arm 嵌入式設備上的 c 程式碼,對 gdb 調試的配置及使用進行一個整理。

1、遠端連線

首先需要實作遠端連線伺服器,在外掛程式庫中搜尋“remote-ssh”,雙擊下載安裝即可(下圖我已安裝好),安裝好之後在側邊欄出現遠端資源管理器。 【推薦學習:vscode教學程式設計教學

#點選+ 號,在彈出的指令視窗中輸入ssh 登陸指令,依照提示,輸入密碼並確認,即可連接成功

#2、設定GDB 環境

##在服務端創建一個c 程式碼,這裡以《

Linux之C 取得系統使用者名稱》中的程式碼為例,很簡單

#include  #include  #include  int main() { struct passwd* pwd; uid_t userid; userid = getuid(); pwd = getpwuid(userid); std::cout << "pw_name:" << pwd->pw_name << std::endl; std::cout << "pw_passwd:" << pwd->pw_passwd << std::endl; std::cout << "pw_uid:" << pwd->pw_uid << std::endl; std::cout << "pw_gid:" << pwd->pw_gid << std::endl; std::cout << "pw_gecos:" << pwd->pw_gecos << std::endl; std::cout << "pw_dir:" << pwd->pw_dir << std::endl; std::cout << "pw_shell:" << pwd->pw_shell << std::endl; return 0; }
登入後複製
編譯方法如下,注意一定要加上-g 指令,否則無法gdb 偵錯

g++ -g test.cpp -o test
登入後複製
然後點擊檔案-開啟資料夾,找到已建立的程式碼路徑,確定後,在左側的資源管理器可以看到程式碼檔案。

第一次執行需要安裝c 的擴展,在擴充頁面中,安裝C/C

同時搜尋GDB Debug 並安裝

安裝好之後,點選「執行與偵錯」按鈕,「建立launch.json」 文件,

選擇C (GDB /LLDB)項,自動產生launch.json 文件,內容如下

{ // 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。 // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [] }
登入後複製
依照下邊的內容,對應的修改一下

{ // 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。 // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "(gdb) 启动", //配置名称,显示在配置下拉菜单中 "type": "cppdbg", //配置类型 "request": "launch", //请求配置类型,可以是启动或者是附加 "program": "${workspaceFolder}/test", //程序可执行文件的完整路径,${workspaceFolder}表示远程连接的初始路径 "args": [], //传递给程序的命令行参数 "stopAtEntry": false,//可选参数,如果为true,调试程序应该在入口(main)处停止 "cwd": "${workspaceFolder}", //目标的工作目录 "environment": [], //表示要预设的环境变量 "externalConsole": false,//如果为true,则为调试对象启动控制台 "MIMode": "gdb",//要连接到的控制台启动程序 "setupCommands": [ //为了安装基础调试程序而执行的一个或多个GDB/LLDB命令 { "description": "为 gdb 启用整齐打印", "text": "-enable-pretty-printing", "ignoreFailures": true } ] } ] }
登入後複製
至此環境配置完畢

# 3.GDB 調試方法

在原始程式碼中直接點擊行數左側,即可增加斷點,設定好斷點之後,點擊「運行與偵錯」--(gdb)啟動,如下

即可進入偵錯頁面

#可以在變數區直接看到變數值,完成偵錯目的。

常用的偵錯按鍵如下

F5 開始除錯

F10 單步跳過

##F11 單步驟偵錯

shift F11 單步跳出

ctrl shift F5 重新啟動調試

shift F5 停止調試

4、問題總結

#如果之前連接過某台設備,後續更換設備是同一個IP,或者說設備重裝過系統,但IP沒變,重連的時候會報錯,原因是主機將伺服器IP 列為known_host

我們找到修改刪除該IP 然後重連即可

更多關於VSCode的相關知識,請造訪:

vscode基礎教學

以上是vscode中怎麼遠端gdb調試?方法詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:csdn.net
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!