windows下 VScode+CMake+Linux远程调试
本文在這個基礎上(跳過makefile):在Windows上使用VSCode遠程鏈接到Linux上開發并調試C++程序_yizhiniu_xuyw的專欄-CSDN博客d?開發環境配置成功,記個流水賬Linux安裝相應工具apt install -y gcc make gdb請配置好Linux端的SSH功能給VSCode安裝Remote Development擴展安裝后可以看到一個新圖標,點擊后選中SSH Targets添加鏈接方式編輯這個文件,如果沒有就新建:C:/Users/用戶名/.ssh/config以下內容添加到末尾后編輯下:Host 設備名稱(不影響連接) HostName Linux的地址(域名或iphttps://blog.csdn.net/yizhiniu_xuyw/article/details/119513666
.vscode下C/C++配置
1.快捷鍵(Ctrl+Shift+p),選擇 C/C++:編輯配置(UI),進行設置
這一步會在.vscode下生成c_cpp_properties.json
.vscode下cmake編譯配置
1.編寫好程序的Makefile文件(這里就不細說了)
2.快捷鍵(Ctrl+Shift+p),輸入task,選擇 配置任務
3.隨便選擇一項,我這里選擇的g++
4.以上會在.vscode文件夾下,生成一個tasks.json的配置文件,和默認配置
我修改好的 tasks.json 配置文件 (cmake)
{
? ? // See https://go.microsoft.com/fwlink/?LinkId=733558
? ? // for the documentation about the tasks.json format
? ? "version": "2.0.0",
? ? "tasks": [
? ? ? ? {
? ? ? ? ? ? "label": "CMakeBuild",
? ? ? ? ? ? "type": "shell",
? ? ? ? ? ? "command": "cmake ..",
? ? ? ? ? ? "args": [],
? ? ? ? ? ? "options": {
? ? ? ? ? ? ? ? "cwd": "${workspaceFolder}/build"?
? ? ? ? ? ? }
? ? ? ? },
? ? ? ? {
? ? ? ? ? ? "label": "build",
? ? ? ? ? ? "type": "shell",
? ? ? ? ? ? "dependsOn": ["CMakeBuild"],
? ? ? ? ? ? "command": "make clean; make",
? ? ? ? ? ? "options": {
? ? ? ? ? ? ? ? "cwd": "${workspaceFolder}/build"?
? ? ? ? ? ? }
? ? ? ? }
? ? ]
}
或者
{
? ? "version": "2.0.0",
? ? "tasks": [
? ? ? ? {
? ? ? ? ? ? "label": "cmake",
? ? ? ? ? ? "type": "shell",
? ? ? ? ? ? "command": "cmake",
? ? ? ? ? ? "args": ["../"],
? ? ? ? ? ? "options": {
? ? ? ? ? ? ? ? "cwd": "${workspaceFolder}/build"
? ? ? ? ? ? }
? ? ? ? },
? ? ? ? {
? ? ? ? ? ? "label": "make",
? ? ? ? ? ? "type": "shell",
? ? ? ? ? ? "command": "make",
? ? ? ? ? ? "args": ["-j20"], ?//這里cmake -j20 表示 使用20核編譯代碼,可選項
? ? ? ? ? ? "dependsOn": ["cmake"],
? ? ? ? ? ? "options": {
? ? ? ? ? ? ? ? "cwd": "${workspaceFolder}/build"
? ? ? ? ? ? }
? ? ? ? },
? ? ? ? {
? ? ? ? ? ? "label": "build",
? ? ? ? ? ? "dependsOn": ["cmake","make"]
? ? ? ? }
? ? ]
}
?
.vscode下cmake調試配置
1.點擊運行,選擇添加配置
2.選擇C/C++: (gdb)?啟動,會生成 launch.json 配置文件,和配置模版,修改launch.json:
{
? ? "version": "0.2.0",
? ? "configurations": [
? ? ? ? {
? ? ? ? ? ? "name": "(gdb) Launch", //配置名稱,會在啟動配置的下拉菜單中顯示
? ? ? ? ? ? "type": "cppdbg", //配置類型,只能為cppdbg
? ? ? ? ? ? "request": "launch", //請求類型,可以為launch或attach
? ? ? ? ? ? "program": "${workspaceFolder}/build/可執行程序文件名", //將要調試的程序的路徑【執行程序名不要遺漏了】
? ? ? ? ? ? "args": [], //調試時傳遞給程序的命令行參數
? ? ? ? ? ? "stopAtEntry": false, //設為true程序會暫停在入口處
? ? ? ? ? ? "cwd": "${workspaceFolder}/build", //調試程序時的工作目錄
? ? ? ? ? ? "environment": [], //環境變量
? ? ? ? ? ? "externalConsole": false, //調試時是否顯示控制臺窗口
? ? ? ? ? ? "MIMode": "gdb", //指定連接的調試器,可以為gdb或lldb
? ? ? ? ? ? "miDebuggerPath": "/usr/bin/gdb", //gdb路徑
? ? ? ? ? ? "setupCommands": [
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? "description": "Enable pretty-printing for gdb",
? ? ? ? ? ? ? ? ? ? "text": "-enable-pretty-printing",
? ? ? ? ? ? ? ? ? ? "ignoreFailures": true
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ]
? ? ? ? ? ? ,"preLaunchTask": "build" //調試開始前執行的任務,一般為編譯過程,會調用tasks.json里面的任務,調試過程中沒有代碼改動的話可以注釋掉
? ? ? ? ? ? //,"preLaunchTask": "build" //調試過程中沒有代碼改動的話可以注釋掉,像這樣
? ? ? ? ? ??
? ? ? ? }
? ? ]
}
參考:Windows使用VSCode遠程Linux(ConteOS)開發/調試C/C++(超詳細)_zy_workjob的專欄-CSDN博客
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的windows下 VScode+CMake+Linux远程调试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CMake基础 第8节 包含第三方库
- 下一篇: pb,json,二进制,xml数据对比