搜尋
首頁開發工具VSCode配置詳解:vscode中遠端偵錯c++

配置詳解:vscode中遠端偵錯c++

最近在學習linux webserver開發,需要在linux下調試自己的C/C 程式碼,但是linux下不像在windows下,直接Visio Studio或者其它集成開發環境那麼方便,現在的linux下開發,比較麻煩。於是可以考慮使用VScode遠端開發。但是網路上的很多教學都不是很清晰,這裡在嘗試了很多教學後,踩了不少坑,最後總結如下。 【推薦學習:《vscode教學》】

1.系統設定

##遠端系統:ubuntu18.04(虛擬機器)

開發主機:windows10

2.ubuntu遠端安裝軟體和設定

(1)安裝必要軟體:ssh(系統通訊), gdb,gsdbserver(程式碼偵錯):

sudo apt-get install openssh-server
sudo apt-get install gdb
sudo apt-get install gdbserver

(2)建立測試資料夾和檔案

註:

    雖然你可能想一步到位,直接拿自己最後的程式測試,但是這裡不建議這麼做,建議先新建一個hello,world程式測試,成功後再調試自己的程式碼。
  • 資料夾位置和內容無所謂,但是最好簡單一些
cd ~/桌面
mkdir testvs
cd testvs
touch main.cpp
gedit main.cpp
其中main.cpp程式碼為:

#include <stdio.h>
 
int main()
{
    int a = 1;
    printf("hello world\n");
    getchar();
    return 0;
}</stdio.h>

(3 )編譯,得到可執行檔

g main.cpp -o main -g注意:

    加-g選項,不然沒辦法用gdb調試
  • 運行後testvs資料夾下有main.cpp和main兩個檔案

(4)啟動gdbserver

(4.1)先來看看自己的ubuntu系統ip位址:

hostname -I
##可以得到本機ip位址為配置詳解:vscode中遠端偵錯c++192.168.199.131

(4.2)啟動gdbserver(注意更改ip位址和測試檔案目錄)

#gdbserver 192.168.199.131:2000 ~/桌面/testvs/main


配置詳解:vscode中遠端偵錯c++

3.主機VScode設定

3.主機VScode設定

  • #(1)先在VScode中安裝下面幾個外掛:
  • #C/C
  • C/C Extension Pack

Remote - SSHRemote Development


#(2)ssh遠端連線

配置詳解:vscode中遠端偵錯c++
左下角“管理”->"控制面板",之後找到選項“Remote-SSH:Connect to Host...” -> Add New SSH Host...

輸入ubuntu系統ip位址,出來新介面

配置詳解:vscode中遠端偵錯c++

紅框內輸入ubuntu系統密碼,左下角顯示綠色ip位址即連線成功,如下圖。

(3)開啟測試檔案

配置詳解:vscode中遠端偵錯c++

開啟資料夾-> 選擇測試資料夾目錄,點“確定”按鈕

選中C/C 擴展,“在SSH:XXX中安裝”。 C/C Extension Pack擴充同理然後重啟Vscode和Ubuntu中的gdbserver(一定得要重啟,否則接下來的步驟會報錯)重新執行上述遠端連線流程。

(4)設定設定檔

#(4.1)設定tasks.json

從選單列選擇Terminal>Configure Default Build Task, 在下拉欄選擇C/C : g build active file. 之後產生tasks.json文件,將內容更換為:

{
    // 有关 tasks.json 格式的文档,请参见
     // https://go.microsoft.com/fwlink/?LinkId=733558
     "version": "2.0.0",
     "tasks": [
     {
     "type": "shell",
     "label": "g++ build active file",
     "command": "/usr/bin/g++",
     "args": [
     "-std=c++11",
     "-g",
     "${file}",
     "-o",
     "${fileDirname}/${fileBasenameNoExtension}"
     ],
     "options": {
     "cwd": "/usr/bin"
     },
     "problemMatcher": [
     "$gcc"
     ],
     "group": {
     "kind": "build",
     "isDefault": true
     }
     },
     { //删除二进制文件
     "type": "shell",
     "label": "delete output file",
     "command": "rm",
     "args": [
     "${fileDirname}/${fileBasenameNoExtension}"
     ],
     "presentation": {
     "reveal": "silent", //删除过程不切换终端(专注程序输出)
     }
     }
     ]
    }

(4.2)配置launch.json

在功能表列選擇Debug>Add Configuration, 選擇C (GDB/LLDB), 在下拉欄中選擇g build and debug active file.產生launch.json,內容改為:

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
    {
    "name": "g++ build and debug active file",
    "type": "cppdbg",
    "request": "launch",
    "program": "${fileDirname}/${fileBasenameNoExtension}",
    "args": [],
    "stopAtEntry": false,
    "cwd": "${workspaceFolder}",
    "environment": [],
    "externalConsole": false,
    "MIMode": "gdb",
    "setupCommands": [
    {
     "description": "为 gdb 启用整齐打印",
     "text": "-enable-pretty-printing",
     "ignoreFailures": true
    }
    ],
    "preLaunchTask": "g++ build active file",
    "postDebugTask": "delete output file",
    "miDebuggerPath": "/usr/bin/gdb"
    }
    ]
   }

4.運行調試配置詳解:vscode中遠端偵錯c++

在main.cpp下調試運行即可

###更多關於VSCode的相關知識,請造訪:###vscode基礎教學###! ######

以上是配置詳解:vscode中遠端偵錯c++的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:博客园。如有侵權,請聯絡admin@php.cn刪除
Visual Studio和VS代碼:了解其關鍵差異Visual Studio和VS代碼:了解其關鍵差異Apr 19, 2025 am 12:16 AM

VisualStudio適合大型項目和企業級應用開發,VSCode則適合快速開發和多語言支持。 1.VisualStudio提供全面的IDE環境,支持微軟技術棧。 2.VSCode是輕量級編輯器,強調靈活性和擴展性,跨平台支持。

視覺工作室仍然免費嗎?了解可用性視覺工作室仍然免費嗎?了解可用性Apr 18, 2025 am 12:05 AM

是的,VisualStudio某些版本是免費的。具體來說,VisualStudioCommunityEdition對個人開發者、開源項目、學術研究和小型組織免費。然而,也有付費版本如VisualStudioProfessional和Enterprise,適用於大型團隊和企業,提供額外功能。

使用Visual Studio:跨平台開發軟件使用Visual Studio:跨平台開發軟件Apr 17, 2025 am 12:13 AM

使用VisualStudio進行跨平台開發是可行的,通過支持.NETCore和Xamarin等框架,開發者可以編寫一次代碼並在多個操作系統上運行。 1)創建.NETCore項目並使用其跨平台能力,2)使用Xamarin進行移動應用開發,3)利用異步編程和代碼重用來優化性能,確保應用的高效運行和可維護性。

vscode如何格式化jsonvscode如何格式化jsonApr 16, 2025 am 07:54 AM

在 VS Code 中格式化 JSON 的方法有:1. 使用快捷鍵 (Windows/Linux:Ctrl Shift I;macOS:Cmd Shift I);2. 通過菜單(“編輯” > “格式化文檔”);3. 安裝 JSON 格式化程序擴展(如 Prettier);4. 手動格式化(使用快捷鍵縮進/縮出塊或添加花括號和分號);5. 使用外部工具(如 JSONLint 和 JSON Formatter)。

vscode如何編譯vscode如何編譯Apr 16, 2025 am 07:51 AM

在 VSCode 中編譯代碼分 5 步:安裝 C 擴展;在項目文件夾中創建 "main.cpp" 文件;配置編譯器(如 MinGW);使用快捷鍵("Ctrl Shift B")或 "Build" 按鈕編譯代碼;使用快捷鍵("F5")或 "Run" 按鈕運行編譯後的程序。

vscode如何安裝vscode如何安裝Apr 16, 2025 am 07:48 AM

要安裝 Visual Studio Code,請按以下步驟操作:訪問官方網站 https://code.visualstudio.com/;根據操作系統下載安裝程序;運行安裝程序;接受許可協議並選擇安裝路徑;安裝完成後,VSCode 將自動啟動。

vscode如何放大字體vscode如何放大字體Apr 16, 2025 am 07:45 AM

在 Visual Studio Code 中放大字體的方法有:打開設置面板(Ctrl , 或 Cmd ,)。搜索並調整“Font Size”。選擇具有適合大小的“Font Family”。安裝或選擇提供合適大小的主題。使用鍵盤快捷鍵(Ctrl 或 Cmd )放大字體。

vscode如何連接遠程服務器vscode如何連接遠程服務器Apr 16, 2025 am 07:42 AM

如何通過 VSCode 連接遠程服務器?安裝 Remote - SSH 擴展配置 SSH在 VSCode 中創建連接輸入連接信息:主機、用戶名、端口、SSH 密鑰在 Remote Explorer 中雙擊已保存的連接

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱工具

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

SublimeText3 Mac版

SublimeText3 Mac版

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