有一個.vscode文件,存放當前工作區相關配置文件的目錄。
launch.json
{"version": "0.2.0","configurations": [{"name": "gcc.exe - 生成和調試活動文件", // 該調試任務的名字,啟動調試時會在待選列表中顯示"type": "cppdbg","request": "launch","program": "${fileDirname}\\${fileBasenameNoExtension}.exe","args": [],"stopAtEntry": false, // 這一項控制是否在入口處暫停,默認false不暫停,改為true暫停"cwd": "${workspaceFolder}","environment": [],"externalConsole": false, // 這一項控制是否啟動外部控制臺(獨立的黑框)運行程序,默認false表示在集成終端中運行"MIMode": "gdb","miDebuggerPath": "D:\\mingw64\\bin\\gdb.exe", // 調試器路徑,必須與你自己的電腦相符"setupCommands": [{"description": "為 gdb 啟用整齊打印","text": "-enable-pretty-printing","ignoreFailures": true}],"preLaunchTask": "C/C++: gcc.exe build active file" // 調試前的預執行任務,這里的值是tasks.json文件中對應的編譯任務,也就是調試前需要先編譯}]
}
tasks.json
{"tasks": [{"type": "shell","label": "C/C++: gcc.exe build active file", // 編譯任務的名稱,跟上面preLaunchTask的值對應"command": "D:/mingw64/bin/g++.exe", // 編譯器的路徑,須跟你自己的電腦相符"args": [ // 編譯器執行時的參數,跟手動編譯時輸入的內容基本一致,主要是多了-g參數,以加入調試信息"-g","${file}","-o","${fileDirname}\\${fileBasenameNoExtension}.exe"],"options": {"cwd": "D:/mingw64/bin"},"problemMatcher": ["$gcc"],"group": {"kind": "build","isDefault": true}}],"version": "2.0.0"
}
編譯文件
在cmakelists.txt文件中需要設置編譯選項:
set(CMAKE_CXX_FLAGS "${CAMKE_CXX_FLAGS} -std=c++11 -pthread -g")
然后編譯文件,按這個按鈕,選擇要調試的可執行的文件,然后就可以對項目進行調試了。