vscode加MinGw三步搭建c/c++調試環境
step1:安裝vscode、MinGw
1.1 vscod常規安裝:https://code.visualstudio.com/
1.2 MinGw安裝:
1.3 下載鏈接:http://www.mingw.org/
注意:將頁面下拉,在左側的 popular content欄,點擊download/installer,會自動下載
1.4 雙擊下載文件后安裝,盡量安裝在C盤,默認路徑:C:\MinGW\bin
1.5 安裝完成后,打開軟件,選擇mingw32-gcc.bin, mingw32-gcc-g++.bin, 以及mingw32-gdb.bin,然后在菜單欄選擇點Installation->Apply all changes,等待.bin文件下載完成,並在MinGw的安裝文件夾的bin目錄下,確認gcc.exe、g++.exe、gdb.exe存在
1.6 添加環境變量:在計算機文件夾上點擊右鍵->屬性->高級系統屬性->環境變量->path中,添加C:\MinGW\bin
1.7 確認安裝成功:在cmd中輸入:g++ -v ,窗口正常輸出g++版本,g++環境變量添加成功
step2:新建文件夾
2.1 新建一個文件夾,並新建一個.c文件,便於測試(注意:文件名不要包含中文)
2.2 在vscode中打開該文件夾
step3:配置launch.json 和task.json文件
3.1 在vscode中打開.c文件
3.2 task.json
在菜單欄的terminal中,選擇Config tasks,並在窗口欄中選擇c/c++:,,,選擇之后,會生成task.json文件,利用下文中的代碼,將原有代碼覆蓋,並保存
{
"version": "2.0.0",
"command": "g++",
"args": ["-g","${file}","-o","${fileBasenameNoExtension}.exe"], // 編譯命令參數
"problemMatcher": {
"owner": "cpp",
"fileLocation": ["relative", "${workspaceFolder}"],
"pattern": {
"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
}
}
3.3 launch.json
在菜單欄的debug中,選擇start debug,並在窗口欄中選擇c/c++:,,,選擇之后,會生成launch.json文件,利用下文中的代碼,將原有代碼覆蓋,並保存
{
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch", // 配置名稱,將會在啟動配置的下拉菜單中顯示
"type": "cppdbg", // 配置類型,這里只能為cppdbg
"request": "launch", // 請求配置類型,可以為launch(啟動)或attach(附加)
"program": "${workspaceFolder}/${fileBasenameNoExtension}.exe",// 將要進行調試的程序的路徑
"args": [], // 程序調試時傳遞給程序的命令行參數,一般設為空即可
"stopAtEntry": false, // 設為true時程序將暫停在程序入口處,一般設置為false
"cwd": "${workspaceFolder}", // 調試程序時的工作目錄,一般為${workspaceFolder}即代碼所在目錄
"environment": [],
"externalConsole": true, // 調試時是否顯示控制台窗口,一般設置為true顯示控制台
"MIMode": "gdb",
"miDebuggerPath": "c:\\MinGW\\bin\\gdb.exe", // miDebugger的路徑,注意這里要與MinGw的路徑對應
"preLaunchTask": "g++", // 調試會話開始前執行的任務,一般為編譯程序,c++為g++, c為gcc
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
3.4 配置完成,可以利用debug打斷點,進行調試。唯一注意點,MinGw的安裝路徑需要與launch.json的miDebuggerPath路徑一致