小編給大家分享一下vscode調(diào)試c程序失敗怎么辦,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、外貿(mào)營銷網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的昌邑網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!問題:
執(zhí)行調(diào)試時(shí),出現(xiàn)問題:
無法在".vscode"文件夾(Cannot read property 'name' of undefined) 內(nèi)創(chuàng)建"launch.json"文件
解決方法:
一、創(chuàng)建文件夾
點(diǎn)擊下圖中紅框處,創(chuàng)建文件夾,命名為“.vscode"
二、創(chuàng)建launch.json
在.vscode文件夾中,創(chuàng)建launch.json文件,并將下面的代碼復(fù)制進(jìn)去,其中,miDubuggerPath后的路徑為C++編輯器的安裝路徑
{ "version": "0.2.0", "configurations": [ { "name": "(gdb) Launch", // 配置名稱,將會(huì)在啟動(dòng)配置的下拉菜單中顯示 "type": "cppdbg", // 配置類型,cppdbg對(duì)應(yīng)cpptools提供的調(diào)試功能;可以認(rèn)為此處只能是cppdbg "request": "launch", // 請(qǐng)求配置類型,可以為launch(啟動(dòng))或attach(附加) "program": "${fileDirname}/${fileBasenameNoExtension}.exe", // 將要進(jìn)行調(diào)試的程序的路徑 "args": [], // 程序調(diào)試時(shí)傳遞給程序的命令行參數(shù),一般設(shè)為空即可 "stopAtEntry": false, // 設(shè)為true時(shí)程序?qū)和T诔绦蛉肟谔?,相?dāng)于在main上打斷點(diǎn) "cwd": "${workspaceFolder}", // 調(diào)試程序時(shí)的工作目錄,此為工作區(qū)文件夾;改成${fileDirname}可變?yōu)槲募谀夸? "environment": [], // 環(huán)境變量 "externalConsole": false, // 為true時(shí)使用單獨(dú)的cmd窗口,與其它IDE一致;18年10月后設(shè)為false可調(diào)用VSC內(nèi)置終端 "internalConsoleOptions": "neverOpen", // 如果不設(shè)為neverOpen,調(diào)試時(shí)會(huì)跳到“調(diào)試控制臺(tái)”選項(xiàng)卡,你應(yīng)該不需要對(duì)gdb手動(dòng)輸命令吧? "MIMode": "gdb", // 指定連接的調(diào)試器,可以為gdb或lldb。但我沒試過lldb "miDebuggerPath": "D:\\mingw64\\bin\\gdb.exe", // 調(diào)試器路徑,Windows下后綴不能省略,Linux下則不要 "setupCommands": [ { // 模板自帶,好像可以更好地顯示STL容器的內(nèi)容,具體作用自行Google "description": "Enable pretty-printing for gdb", "text": "-enable-pretty-printing", "ignoreFailures": false } ], "preLaunchTask": "Compile" // 調(diào)試會(huì)話開始前執(zhí)行的任務(wù),一般為編譯程序。與tasks.json的label相對(duì)應(yīng) } ] }
三、創(chuàng)建tasks.json
在.vscode文件中,新建tasks.json文件,編輯代碼
{ "version": "2.0.0", "tasks": [ { "label": "Compile", // 任務(wù)名稱,與launch.json的preLaunchTask相對(duì)應(yīng) "command": "g++", // 要使用的編譯器,C++用clang++;如果編譯失敗,改成gcc或g++試試,還有問題那就是你自己的代碼有錯(cuò)誤 "args": [ "${file}", "-o", // 指定輸出文件名,不加該參數(shù)則默認(rèn)輸出a.exe,Linux下默認(rèn)a.out "${fileDirname}/${fileBasenameNoExtension}.exe", "-g", // 生成和調(diào)試有關(guān)的信息 "-Wall", // 開啟額外警告 "-static-libgcc", // 靜態(tài)鏈接libgcc,一般都會(huì)加上 "-std=c++11", // C++新標(biāo)準(zhǔn)為c++17,或根據(jù)自己的需要進(jìn)行修改 ], // 編譯命令參數(shù) "type": "process", // process是vsc把預(yù)定義變量和轉(zhuǎn)義解析后直接全部傳給command;shell相當(dāng)于先打開shell再輸入命令,所以args還會(huì)經(jīng)過shell再解析一遍 "group": { "kind": "build", "isDefault": true // 不為true時(shí)ctrl shift B就要手動(dòng)選擇了 }, "presentation": { "echo": true, "reveal": "always", // 執(zhí)行任務(wù)時(shí)是否跳轉(zhuǎn)到終端面板,可以為always,silent,never。具體參見VSC的文檔 "focus": false, // 設(shè)為true后可以使執(zhí)行task時(shí)焦點(diǎn)聚集在終端,但對(duì)編譯C/C++來說,設(shè)為true沒有意義 "panel": "shared" // 不同的文件的編譯信息共享一個(gè)終端面板 }, // "problemMatcher":"$gcc" // 此選項(xiàng)可以捕捉編譯時(shí)終端里的報(bào)錯(cuò)信息;本文用的是clang,開了可能會(huì)出現(xiàn)雙重報(bào)錯(cuò)信息;只用cpptools可以考慮啟用 } ] }
四、此時(shí)點(diǎn)擊調(diào)試按鈕,可以看到出現(xiàn)可以進(jìn)行調(diào)試的選項(xiàng)
看完了這篇文章,相信你對(duì)“vscode調(diào)試c程序失敗怎么辦”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!