弄了半天,總算弄好了,結合網上的教程,整理分享一下~
總體流程:
下載安裝vscode
https://code.visualstudio.com/Download
安裝cpptools插件
打開vscode,按ctrl+p打開快速命令框,輸入以下命令后等待
ext install cpptools
vscode在短暫的聯網查找后會列出插件列表,如圖:
點擊箭頭所指處的按鈕安裝插件,安裝過程可能會有些慢耐心等待
安裝完成后vscode會提示你重啟vscode,此時重啟即可
安裝編譯、調試環境
(若是電腦上原來裝著codeblocks,Dev C++等可以跳過這步,
直接跳到 【配置系統環境變量path】 這步即可)
目前windows下調試僅支持 Cygwin 和 MinGW。
這里使用的是MinGW.
下面是MinGW的安裝配置過程:
http://mingw.org/
進入官網點擊右側 Download Installer下載安裝器
打開安裝器點擊install準備安裝:
選擇一個安裝目錄,默認為C:/MinGW這里選擇的是A:/MinGW
點擊Continue開始安裝,安裝過程需聯網,若安裝時提示error則需翻墻安裝
安裝過程很快,結束后Continue按鈕恢復為可用狀態,點擊完成安裝。
打開MinGW安裝管理器進行進一步配置
注意這里gdb必選,否則無法調試
選中幾個需要的項右鍵Make for Installation進行標記,其中gcc和g++為c和c++編譯器
選擇完全部想要安裝的項后點擊左上角Installation菜單下的Apply Changes應用修改,過程需聯網,中間出現error可先繼續,若最后失敗則需翻墻更新,建議翻墻。
【配置系統環境變量path】
然后配置系統環境變量path,這一步為必須
在 我的電腦 上右鍵 屬性:
然后按照下面步驟做即可,注意最后新建的項要與之前MinGW安裝位置相對應
Windows7注意,要加入,不是覆蓋!我第一次不小心把原來路徑覆蓋了。。。(因為win7不像win10那么明顯是加入。。)
再次打開vscode,注意配置系統環境變量path后重啟一下vscode
注意vscode調試需要在打開的文件夾中進行(注意!是用VSC打開文件夾?。。瑔为毚蜷_一個單獨的cpp是沒有下面的幾個配置文件出現的?。∫簿褪钦f,這個cpp要在一個文件夾里!不像DevCpp和C-Free可以直接調試一個單獨的cpp?。。?/p>
打開文件夾后,新建test.cpp進行輸入代碼測試:
如圖示進入調試界面選擇C++:
然后會在工作目錄下的生成一個launch.json的啟動配置文件:
使用下面代碼替換該文件:(只是在vsc自己產生的json文件加了一些行)
launch.json中有很多屬性可以設置, 通過智能提示查看有那些屬性可以設置, 如果要查看屬性的具體含義, 可以把鼠標懸停在屬性上面, 會屬性的使用說明.
{ "version": "0.2.0", "configurations": [ { "name": "(gdb) Launch", // 配置名稱,將會在啟動配置的下拉菜單中顯示 "type": "cppdbg", // 配置類型,這里只能為cppdbg "request": "launch", // 請求配置類型,可以為launch(啟動)或attach(附加) "program": "${workspaceRoot}/${fileBasenameNoExtension}.exe",// 將要進行調試的程序的路徑 "args": [], // 程序調試時傳遞給程序的命令行參數,一般設為空即可 "stopAtEntry": false, // 設為true時程序將暫停在程序入口處,一般設置為false "cwd": "${workspaceRoot}", // 調試程序時的工作目錄,一般為${workspaceRoot}即代碼所在目錄 "environment": [], "externalConsole": true, // 調試時是否顯示控制臺窗口,一般設置為true顯示控制臺 "MIMode": "gdb", "miDebuggerPath": "C://Program Files (x86)//CodeBlocks//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 } ] } ] }
注意miDebuggerPath要與MinGw的路徑對應 ,我用的codeblocks的gdb,見上面的json文件。
而且,注意miDebuggerPath是//,與直接粘貼過來的路徑不一樣,需要加一個”/”(冒號后面的兩個反斜杠“//”)
替換后保存,然后切換至test.cpp,按F5進行調試,此時會彈出一個信息框要求你配置任務運行程序,點擊它~
在這里隨便選一個:(我選的others)
然后用下面代碼替換:
{ "version": "0.1.0", "command": "g++", "args": ["-g","${file}","-o","${fileBasenameNoExtension}.exe"], // 編譯命令參數 "problemMatcher": { "owner": "cpp", "fileLocation": ["relative", "${workspaceRoot}"], "pattern": { "regexp": "^(.*):(//d+):(//d+)://s+(warning|error)://s+(.*)$", "file": 1, "line": 2, "column": 3, "severity": 4, "message": 5 } }}
保存一下,然后切換至test.cpp,再次按F5啟動調試~
配置c_cpp_properties.json
{ "name": "Win32", "includePath": [ "C:/Program Files/MinGW/include/*", "C:/Program Files/MinGW/lib/gcc/mingw32/5.3.0/include/*" "C:/MinGW/lib/gcc/mingw32/5.3.0/include/c++/*", "C:/MinGW/lib/gcc/mingw32/5.3.0/include/c++/mingw32/*", "C:/MinGW/lib/gcc/mingw32/5.3.0/include/c++/backward/*" ], "browse": { "limitSymbolsToIncludedHeaders": true, "databaseFilename": "" }}
一勞永逸:因為VS需要為每一個文件夾做單獨配置,所以建議把.vscode
文件夾放到你常用的文件夾的頂層,這樣就不用重復配置了。
不用每個新cpp文件就要一套配置。這些配置在你配置好的文件夾內的所有子文件夾和文件都能使用。
最后效果:
設置斷點,變量監視,調用堆棧的查看:
條件斷點的使用:
新更新:
最后補一句:
vscode似乎還僅僅支持英文文件名的調試,中文調試的話就會出現“找不到文件XXXXX.cpp”(大意,原文記不清了,因為距離這個問題我已經解決很長時間了,今天看到想補一下,別讓新人踩坑了。。。),然后問是否要創建,不知道是BUG還是啥,這糾結了我N久,因為我有些cpp文件是中文命名的,我去Github上找相應的issue也沒有找到我想要的這個問題解答,最后偶然間發現英文命名的文件調試時不會出現這個問題,才解決了?。≌娴暮芸樱。?!新人注意?。?!這里浪費了我很長很長時間!!
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。
新聞熱點
疑難解答