Linux下用vscode+gdb圖形化調試C/C++程序的一些配置
linux用gdb命令行調試程序實在是太困難了,難以入手,所以記錄下用VScode圖形化調試C/C++程序的配置,以便以后忘記后來參考(多文件調試暫時沒接觸到)
- 步驟1:選擇debug小蟲子,點擊運行和調試,中間會彈出窗口的,這個就不貼圖了,我選擇g++

- 步驟2:生成兩個json文件需要做小量修改,具體看最下面

- 步驟3:修改完json文件后,先打好斷點,再點擊運行,可以看到有效果了

launch.json文件配置(非權威理解)
{
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceRoot}/a.out", //編譯后生成的可執行文件名字
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}", //當前目錄
"environment": [],
"externalConsole": false, //在vscode自帶的終端運行,不打開外部終端
"MIMode": "gdb", //用gdb來debug
"preLaunchTask": "socket",//綁定task的名字,對應tasks.json文件的"label"
"setupCommands": [
{
"description": "為 gdb 啟用整齊打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"miDebuggerPath": "/usr/bin/gdb"//gdb的絕對路徑
}
]
}
tacks.json文件配置
{
"version": "2.0.0",
"tasks": [
{
"label": "socket", //Task的名字
"type": "shell",
"command": "g++", //和下面args連在一起就是 (g++ -g Mysocket.cpp -o a.out) linux默認生成可執行文件是a.out,可以改成自己自定義的
"args": [
"-g",
"Mysocket.cpp",
"-o",
"${workspaceRoot}/a.out"
],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}