目錄
1、遠端連線
#2、設定GDB 環境
首頁 開發工具 VSCode vscode中怎麼遠端gdb調試?方法詳解

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

Apr 11, 2023 pm 07:14 PM
vscode調試

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

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

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

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

1、遠端連線

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

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

#2、設定GDB 環境

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

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

#include <unistd.h>
#include <pwd.h>
#include <iostream>
 
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中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

vscode怎麼定義頭文件 vscode怎麼定義頭文件 Apr 15, 2025 pm 09:09 PM

如何使用 Visual Studio Code 定義頭文件?創建頭文件並使用 .h 或 .hpp 後綴命名在頭文件中聲明符號(例如類、函數、變量)使用 #include 指令在源文件中包含頭文件編譯程序,頭文件將被包含並使聲明的符號可用

vscode需要什麼電腦配置 vscode需要什麼電腦配置 Apr 15, 2025 pm 09:48 PM

VS Code 系統要求:操作系統:Windows 10 及以上、macOS 10.12 及以上、Linux 發行版處理器:最低 1.6 GHz,推薦 2.0 GHz 及以上內存:最低 512 MB,推薦 4 GB 及以上存儲空間:最低 250 MB,推薦 1 GB 及以上其他要求:穩定網絡連接,Xorg/Wayland(Linux)

哪個代碼編輯器可以在Windows 7上運行? 哪個代碼編輯器可以在Windows 7上運行? Apr 03, 2025 am 12:01 AM

在Windows7上可以運行的代碼編輯器有Notepad 、SublimeText和Atom。 1.Notepad :輕量級,啟動快,適合老系統。 2.SublimeText:功能強大,需付費。 3.Atom:可定制性強,但啟動慢。

VS代碼和Visual Studio有什麼區別? VS代碼和Visual Studio有什麼區別? Apr 05, 2025 am 12:07 AM

VSCode是輕量級代碼編輯器,適用於多種語言和擴展;VisualStudio是功能強大的IDE,主要用於.NET開發。 1.VSCode基於Electron,支持跨平台,使用Monaco編輯器。 2.VisualStudio使用微軟自主技術棧,集成調試和編譯器。 3.VSCode適合簡單任務,VisualStudio適合大型項目。

Visual Studio的可用性:哪些版本是免費的? Visual Studio的可用性:哪些版本是免費的? Apr 10, 2025 am 09:44 AM

VisualStudio的免費版本包括VisualStudioCommunity和VisualStudioCode。 1.VisualStudioCommunity適用於個人開發者、開源項目和小型團隊,功能強大,適合個人項目和學習編程。 2.VisualStudioCode是一個輕量級的代碼編輯器,支持多種編程語言和擴展,啟動速度快,資源佔用少,適合需要靈活性和可擴展性的開發者。

vs code 可以在 Windows 8 中運行嗎 vs code 可以在 Windows 8 中運行嗎 Apr 15, 2025 pm 07:24 PM

VS Code可以在Windows 8上運行,但體驗可能不佳。首先確保系統已更新到最新補丁,然後下載與系統架構匹配的VS Code安裝包,按照提示安裝。安裝後,注意某些擴展程序可能與Windows 8不兼容,需要尋找替代擴展或在虛擬機中使用更新的Windows系統。安裝必要的擴展,檢查是否正常工作。儘管VS Code在Windows 8上可行,但建議升級到更新的Windows系統以獲得更好的開發體驗和安全保障。

vscode終端使用教程 vscode終端使用教程 Apr 15, 2025 pm 10:09 PM

vscode 內置終端是一個開發工具,允許在編輯器內運行命令和腳本,以簡化開發流程。如何使用 vscode 終端:通過快捷鍵 (Ctrl/Cmd ) 打開終端。輸入命令或運行腳本。使用熱鍵 (如 Ctrl L 清除終端)。更改工作目錄 (如 cd 命令)。高級功能包括調試模式、代碼片段自動補全和交互式命令歷史。

visual studio code 可以用於 python 嗎 visual studio code 可以用於 python 嗎 Apr 15, 2025 pm 08:18 PM

VS Code 可用於編寫 Python,並提供許多功能,使其成為開發 Python 應用程序的理想工具。它允許用戶:安裝 Python 擴展,以獲得代碼補全、語法高亮和調試等功能。使用調試器逐步跟踪代碼,查找和修復錯誤。集成 Git,進行版本控制。使用代碼格式化工具,保持代碼一致性。使用 Linting 工具,提前發現潛在問題。

See all articles