ubuntu下使用vscode調(diào)試c程序

1.在擴(kuò)展中搜索cpptool,安裝圖中的插件


2.用vscode打開需要調(diào)試的c程序文件所在的文件夾
3.點(diǎn)擊debug圖標(biāo)

4.點(diǎn)擊設(shè)置圖片,出現(xiàn) 選擇環(huán)境,選擇 c++

5.程序會(huì)自動(dòng)生成launch.json文件


6.將圖中的program改為需要調(diào)試的a.out文件的全路徑
cwd改為文件所在文件夾的全路徑


7.接下來在命令行中使用gcc編譯c文件,記得加上-g選項(xiàng)
如:gcc -o file.c,即可生成對(duì)應(yīng)的a.out文件

如果嫌每次都要這樣做(gcc -o file.c)很麻煩,可以使用接下來的步驟:
1.使用ctrl p打開命令面板,然后輸入>task后,選擇配置任務(wù)運(yùn)行程序


2.接下來會(huì)有很多個(gè)選項(xiàng),選擇Others

3.會(huì)自動(dòng)生成一個(gè)tasks.json文件


4.將command選項(xiàng)設(shè)置為g++
args選項(xiàng)中寫入-g選項(xiàng)和文件的全路徑

more

為了使用適用更多的文件,應(yīng)該將args中的文件名改成${file},則整個(gè)task.json文件變成(參考):

{
    "version": "0.1.0",
    "command": "g++",
    "args": ["-g","${file}","-o","${file}.exe"],    // 編譯命令參數(shù)
    "problemMatcher": {
        "owner": "cpp",
        "fileLocation": ["relative", "${workspaceRoot}"],
        "pattern": {
            "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
            "file": 1,
            "line": 2,
            "column": 3,
            "severity": 4,
            "message": 5
        }
    }
}

如果在windows上使用,vscode調(diào)試c程序,則還要安裝MinGw,下面附上launch.json的例子:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "C++ Launch (GDB)",                 // 配置名稱,將會(huì)在啟動(dòng)配置的下拉菜單中顯示
            "type": "cppdbg",                           // 配置類型,這里只能為cppdbg
            "request": "launch",                        // 請(qǐng)求配置類型,可以為launch(啟動(dòng))或attach(附加)
            "launchOptionType": "Local",                // 調(diào)試器啟動(dòng)類型,這里只能為Local
            "targetArchitecture": "x86",                // 生成目標(biāo)架構(gòu),一般為x86或x64,可以為x86, arm, arm64, mips, x64, amd64, x86_64
            "program": "${file}.exe",                   // 將要進(jìn)行調(diào)試的程序的路徑
            "miDebuggerPath":"c:\\MinGW\\bin\\gdb.exe", // miDebugger的路徑,注意這里要與MinGw的路徑對(duì)應(yīng)
            "args": ["blackkitty",  "1221", "# #"],     // 程序調(diào)試時(shí)傳遞給程序的命令行參數(shù),一般設(shè)為空即可
            "stopAtEntry": false,                       // 設(shè)為true時(shí)程序?qū)和T诔绦蛉肟谔?,一般設(shè)置為false
            "cwd": "${workspaceRoot}",                  // 調(diào)試程序時(shí)的工作目錄,一般為${workspaceRoot}即代碼所在目錄
            "externalConsole": true,                    // 調(diào)試時(shí)是否顯示控制臺(tái)窗口,一般設(shè)置為true顯示控制臺(tái)
            "preLaunchTask": "g++"                    // 調(diào)試會(huì)話開始前執(zhí)行的任務(wù),一般為編譯程序,c++為g++, c為gcc
        }
    ]
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,699評(píng)論 19 139
  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經(jīng)改了很多 但是錯(cuò)誤還是無法避免 以后資料會(huì)慢慢更新 大...
    數(shù)據(jù)革命閱讀 13,358評(píng)論 2 33
  • C中的預(yù)編譯宏定義 2009-02-10 作者: infobillows 來源:網(wǎng)絡(luò) 在將一個(gè)C源程序轉(zhuǎn)換為可執(zhí)行...
    白水灬煮一切閱讀 1,742評(píng)論 0 5
  • Ubuntu的發(fā)音 Ubuntu,源于非洲祖魯人和科薩人的語言,發(fā)作 oo-boon-too 的音。了解發(fā)音是有意...
    螢火蟲de夢閱讀 100,837評(píng)論 9 468
  • 3 二狗的大姐叫桃紅,初中二年級(jí)沒讀完就輟學(xué)在家務(wù)農(nóng)。 下午四五點(diǎn),大姐就戴著草帽,牽著黃牛,揚(yáng)著竹竿去放牛。大姐...
    井侗閱讀 531評(píng)論 0 6

友情鏈接更多精彩內(nèi)容