linux系統下如何在vscode中除錯C++程式碼
阿新 • • 發佈:2018-11-03
本篇部落格以一個簡單的hello world程式,介紹在vscode中除錯C++程式碼的配置過程。
1. 安裝編譯器
vscode是一個輕量的程式碼編輯器,並不具備程式碼編譯功能,程式碼編譯需要交給編譯器完成。linux下最常用的編譯器是gcc,通過如下命令安裝:
sudo apt-get install build-essential
安裝成功之後,在終端中執行gcc --version
或者g++ --version
,可以看到編譯器的版本資訊,說明安裝成功。
2. 安裝必要的外掛
在vscode中編寫C++程式碼,C/C++外掛是必不可少的。開啟vscode,點選左邊側邊欄最下面的正方形圖示,在搜尋框裡輸入c++
3. 編寫程式碼
hello world程式,略。
4. 配置task
在task裡新增編譯命令,從而執行編譯操作。步驟如下:
- 按住
ctrl+shift+P
,開啟命令面板; - 選擇Configure Tasks...,選擇Create tasks.json file from templates,之後會看到一系列task模板;
- 選擇others,建立一個task,下面是一個task的示例:
{ // See https://go.microsoft.com/fwlink/?LinkId=733558 // for the documentation about the tasks.json format "version": "2.0.0", "tasks": [ { "label": "build hello world", // task的名字 "type": "shell", "command": "g++", //編譯命令 "args": [ //編譯引數列表 "main.cpp", "-o", "main.out" ] } ] }
上面的command
是我們的編譯命令,args
是編譯引數列表,合在一起,其實就是我們手動編譯時的命令。
g++ main.cpp -0 main.out
5. 配置launch.json
把debug的內容配置在launch.json,這樣我們就可以使用斷點除錯了。
- 點選側邊欄的debug按鈕,就是那隻蟲子圖示;
- 在上面的debug欄目裡,點選齒輪圖示;
- 在下拉選單中選擇 C++ (GDB/LLDB),這時會在.vscode資料夾下建立一個lauch.json檔案,用來配置debug;下面是launch.json檔案的一個示例:
{ // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "debug hello world", //名稱 "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/main.out", //當前目錄下編譯後的可執行檔案 "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", //表示當前目錄 "environment": [], "externalConsole": false, // 在vscode自帶的終端中執行,不開啟外部終端 "MIMode": "gdb", //用gdb來debug "setupCommands": [ { "description": "Enable pretty-printing for gdb", "text": "-enable-pretty-printing", "ignoreFailures": true } ], "preLaunchTask": "build hello world" //在執行debug hello world前,先執行build hello world這個task,看第4節 } ] }
6. 結束
至此,配置完成,按F5可以編譯和除錯程式碼,vscode自帶終端中會列印hello world字串。在程式中新增斷點,除錯時也會在斷點處中斷。