Ubuntu下VSCode調試環境搭建指南-C語言篇


前言

  windows下有很多免費的開發C語言的IDE,比如微軟自家的Visual Studio社區版,開源的code::blocks(自帶mingw)等等,沒必要再單獨下載mingw折騰調試環境搭建,使用現有方案簡單快捷得多,還不容易出錯。而在linux系統下,相關的IDE就少了很多,前面提到的code::blocks是其中之一,但是它的編輯器使用起來卻不太方便,因此還是選擇使用VSCode來搭建調試環境。

1. 安裝官方C/C++擴展

  當使用VSCode打開一個C文件時,編輯器會自動提示安裝相應的擴展,當然也可以手動搜索。在主界面按下Ctrl+Shift+X,在搜索欄中輸入"c",出來的第一個即為需要安裝的插件。

2. 修改調試模板文件

  想要調試源代碼文件,我們需要創建或者生成tasks.json和launch.json文件,關於如何自動生成這兩個文件,可以參考callback接口(https://www.cnblogs.com/maxiaowei0216/p/12518468.html)中關於調試部分的內容。tasks.json文件幫助我們自動在終端中輸入gcc指令,編譯輸出可運行文件的,而launch.json文件則是啟動gdb程序進行調試的。

  對於只有一個c源文件的工程,使用默認的模板文件即可進行調試和運行。但是大部分的工程顯然不可能只有一個源文件,這就需要對tasks.json文件進行修改。

  以一個簡單的工程為例,其目錄結構如下圖所示:

  其中,hello.c中包含了main函數,在其內部引用了habc.h中聲明的函數,此函數在habc.c中進行定義。那么,由於hello.c中有對habc.c的依賴,需要編譯這兩個源文件。所以在tasks.json中將habc.c加入到需要編譯的文件列表中,其修改后的內容如下:

 1 {
 2     // See https://go.microsoft.com/fwlink/?LinkId=733558 
 3     // for the documentation about the tasks.json format
 4     "version": "2.0.0",
 5     "tasks": [
 6         {
 7             "type": "shell",
 8             "label": "gcc build active file",
 9             "command": "/usr/bin/gcc",
10             "args": [
11                 "-g",
12                 "${file}",  // -o參數前填入需要編譯的文件
13                 "${fileDirname}/habc.c", //編譯habc.c文件
14                 "-o",
15                 "${fileDirname}/${fileBasenameNoExtension}"
16             ],
17             "options": {
18                 "cwd": "/usr/bin"
19             },
20             "problemMatcher": [
21                 "$gcc"
22             ],
23             "group": "build"
24         }
25     ]
26 }

3. 編譯及調試

  按下Ctrl+Shift+B 即會根據tasks.json中的定義進行編譯,如果沒有出錯,隨后即可按下F5進入調試界面。

 

4. 進階

  如果項目很大,有很多的源文件,顯然不可能在tasks.json中為每個源文件添加一行代碼,不僅麻煩還很容易出錯。這時候就可以使用make工具,根據項目中的makelist來有選擇的進行編譯。因此,只需要修改tasks.json,將"command"變量改成make的路徑,"args"中加上其對應的參數即可。由於本人對make還不太熟悉,在此就不進行演示了,僅提供一種思路。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM