windows 系統vscode 配置c++調試器gdb

切記:(1)工程項目不可以是中文地址

(2)gdb的目錄到\\bin設置到系統的環境變量中

 

(1)launch.json

{

// 使用 IntelliSense 瞭解相關屬性。

// 懸停以查看現有屬性的描述。

"version": "0.2.0",

"configurations": [{

// 配置 VS Code 調試行爲:

"name": "GDB Debug", // 設置在啓動配置下拉菜單中顯示調試配置的名稱。

"preLaunchTask": "Compile", // 調試會話開始前要運行的任務。

"type": "cppdbg", // 設置要使用的基礎調試器。使用 GDB 或 LLDB 時必須是 cppdbg 。

"request": "launch", // 設置啓動程序還是附加到已經運行的實例。啓動或附加 ( launch | attach ).

"program": "${fileDirname}/${fileBasenameNoExtension}.exe", // 調試器將啓動或附加的可執行文件的完整路徑。

"externalConsole": true, // 設置是否顯示外部控制檯。

"logging": { // 用於確定應該將哪些類型的消息記錄到調試控制檯。

"exceptions": true, // 是否應將異常消息記錄到調試控制檯。默認爲真。

"moduleLoad": false, // 是否應將模塊加載事件記錄到調試控制檯。默認爲真。

"programOutput": true, // 是否應將程序輸出記錄到調試控制檯的可選標誌。默認爲真。

"engineLogging": false, // 是否應將診斷引擎日誌記錄到調試控制檯。默認爲假。

"trace": false, // 是否將診斷適配器命令跟蹤記錄到調試控制檯。默認爲假。

"traceResponse": false // 是否將診斷適配器命令和響應跟蹤記錄到調試控制檯。默認爲假。

},

// 配置目標應用程序:

"args": [], // 設置調試時傳遞給程序的命令行參數。

"cwd": "${workspaceFolder}", // 設置調試器啓動的應用程序的工作目錄。

"environment": [], // 設置調試時添加到程序環境中的環境變量,例如: [ { "name": "squid", "value": "clam" } ]。

// 自定義 GDB 或者 LLDB:

"windows": {

"MIMode": "gdb", // 指定 VS Code 連接的調試器,必須爲 gdb 或者 lldb。

"miDebuggerPath": "D:\\Program Files\\vscode\\MinGW\\bin\\gdb.exe" // 調試器的路徑,修改爲你的安裝路徑

},

"miDebuggerArgs": "", // 傳遞給調試器的附加參數

"stopAtEntry": false, // 設置調試器是否停止在目標的入口(附加時忽略)。默認值爲 false。

"setupCommands": [{ // 執行下面的命令數組以設置 GDB 或 LLDB

"description": "Enable pretty-printing for gdb",

"text": "-enable-pretty-printing", // 鼠標懸停查看變量的值,需要啓用 pretty-printing 。

"ignoreFailures": true // 忽略失敗的命令,默認爲 false 。

}]

}]

}

 

(2)tasks.json

 

{

// See https://go.microsoft.com/fwlink/?LinkId=733558

// for the documentation about the tasks.json format

"version": "2.0.0",

"tasks": [{

"label": "Compile",

"type": "shell", // { shell | process }

// 適用於 Windows 的配置:

"windows": {

"command": "gcc",

"args": [

"-g",

"\"${file}\"",

"-o",

"\"${fileDirname}\\${fileBasenameNoExtension}.exe\""

// 設置編譯後的可執行文件的字符集爲 GB2312:

// "-fexec-charset", "GB2312"

// 直接設置命令行字符集爲 utf-8:

// chcp 65001

]

},

// 定義此任務屬於的執行組:

"group": {

"kind": "build", // { build | test }

"isDefault": true // { true | false }

},

// 定義如何在用戶界面中處理任務輸出:

"presentation": {

// 控制是否顯示運行此任務的面板。默認值爲 "always":

// - always: 總是在此任務執行時顯示終端。

// - never: 不要在此任務執行時顯示終端。

// - silent: 僅在任務沒有關聯問題匹配程序且在執行時發生錯誤時顯示終端

"reveal": "silent",

// 控制面板是否獲取焦點。默認值爲 "false":

"focus": false,

// 控制是否將執行的命令顯示到面板中。默認值爲“true”:

"echo": false,

// 控制是否在任務間共享面板。同一個任務使用相同面板還是每次運行時新創建一個面板:

// - shared: 終端被共享,其他任務運行的輸出被添加到同一個終端。

// - dedicated: 執行同一個任務,則使用同一個終端,執行不同任務,則使用不同終端。

// - new: 任務的每次執行都使用一個新的終端。

"panel": "dedicated"

},

// 使用問題匹配器處理任務輸出:

"problemMatcher": {

// 代碼內問題的所有者爲 cpp 語言服務。

"owner": "cpp",

// 定義應如何解釋問題面板中報告的文件名

"fileLocation": [

"relative",

"${workspaceFolder}"

],

// 在輸出中匹配問題的實際模式。

"pattern": {

// The regular expression.

"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",

// 第一個匹配組匹配文件的相對文件名:

"file": 1,

// 第二個匹配組匹配問題出現的行:

"line": 2,

// 第三個匹配組匹配問題出現的列:

"column": 3,

// 第四個匹配組匹配問題的嚴重性,如果忽略,所有問題都被捕獲爲錯誤:

"severity": 4,

// 第五個匹配組匹配消息:

"message": 5

}

}

}]

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章