分類

展開全部 | 收合全部

分類

展開全部 | 收合全部

【C++ 程式編譯 #2】透過 vscode 進行 C++ debug,設定 launch.json 與透過中斷點將程式暫停,觀察變數

前言

這裡是一些我自己 debug 時做的筆記,並不是完整的教學,
只會寫我會用到的東西,或有學到新東西在陸續補上。

建立「launch.json」,產生 debug 我們需要參考的檔案

這邊我們會先需要建立「./.vscode/task.json」、「./.vscode/launch.json」,作為我們 debug 需要的設定檔。

step1. 開啟 debug extension,點擊執行並偵錯

step2. 「在開啟檔案的畫面」,選擇 C++ (GDB/LLDB),再選擇 g++ (可以自己針對需求修改)

如果發現有下圖沒有出現的選項,有可能不是在「當前視窗就是想編譯的檔案

step3. 我們會發現,我們右邊多出兩份檔案「./.vscode/task.json」、「./.vscode/launch.json」

step4. 先看我們的「./.vscode/task.json」,我們會在這裡決定我們要怎麼「編譯程式」

在「一開始是選擇開啟檔案的情況下」,我們自動建立的「./.vscode/task.json」,照理來說是可以直接跑的。

step5. 看我們的 「./.vscode/launch.json」,我們在這裡決定我們要怎麼「執行程式」

在「一開始是選擇開啟檔案的情況下」,我們自動建立的「./.vscode/launch.json」,照理來說是可以直接跑的。

設定 debug 中斷點

step1. 在對應的行數前,點擊紅點,建立等等暫停位置

step2. 點擊左方執行,程式開始運作

注意可能會顯示的指令:「g++ -fdiagnostics-color=always -g test.cpp -o test」,注意「-g」、「-o」、「 -fdiagnostics-color=always」這幾個 flag

step3. 可以透過右方小工具,一步一步執行至下一個中斷點

debug 其他小技巧

  • 「cmd + 點擊 function name」:進入 function / variable 查看
  • 「alt + ←」:往前一步 (搭配上述使用,查看 function 後跳回去)

Reference

⭐C++ 基礎用法 相關文章整理⭐:
1.【C++】C++ compile 程式碼 使用 c++ 11 與使用相關的 package
2.【C++】C/C++ 顯示資料的類別 (type) sample code (內含範例程式碼) print C data type, cout C++ data type, get variable type in c++
3.【C++】C++ 複製 2D array的方法 copy 2d array memcpy sample code (內含範例程式碼)
⭐Modern C++ ⭐:
⭐C++ 字串處理相關文章整理⭐:
1.【C++】字串 char string stringstream 相關用法總整理 (內含範例程式碼) 與利用 sprinf, snprinf assign 值的方法
2.【C++】字串 char string stringstream 「轉換」用法總整理 (內含範例程式碼)
3.【C】printf, fprintf, sprintf, snprintf 相關用法總整理 (內含範例程式碼)
4.【C++】C++ String 用法 連接兩個 String c++ string concat
⭐C++ 系統偵測相關文章整理⭐:
1.【C++】C++ 利用 dirent.h 計算資料夾的檔案數量 count files sample code (內含範例程式碼)
2.【C++】C++ inotify sample code 偵測指定路徑底下的文件變化 (內有範例程式碼)
⭐C++ OpenCV 相關文章整理⭐:
1.【OpenCV】c++ OpenCV – 在 ubuntu 上第一次執行 OpenCV 程式 sample code (內含範例程式碼)
2.【OpenCV】c++ OpenCV - 在圖片上寫上文字 cv::putText sample code (內含範例程式碼)
3.【OpenCV】c++ OpenCV - cv::Rect 矩形用法與相關功能函數 sample code (內含範例程式碼)
4.【OpenCV】c++ OpenCV - OpenCV 中的純量 定義顏色 cv::Scalar(255,255,255) color sample code (內含範例程式碼)
5.【OpenCV】用 C++ 計算 iou 的方法 與網路算法常見錯誤(內附範例程式碼) sample code
⭐C++ Makefile 相關文章整理⭐:
1.【C++ Makefile】- 1 / 嘗試撰寫自己的第一份 Makefile
2.【C++ Makefile】- 2 / 新增自己的變數
3.【C++ Makefile】- 3 / Makefile 常用變數 -「$@」, 「$^」
4.【C++ Makefile】- 4 / Makefile 常用 fake target -「.PHONY」
5.【C++ Makefile】- 5 / Makefile 內建變數 -「$@」, 「$^」, 「$<」, 「$* 」,「$? 」
⭐【喜歡我的文章嗎? 歡迎幫我按讚~ 讓基金會請創作者喝一杯咖啡!
如果喜歡我的文章,請幫我在下方【按五下Like】 (Google, Facebook 免註冊),會由 「LikeCoin」 贊助作者鼓勵繼續創作,讀者們「只需幫忙按讚,完全不用出錢」哦!

likecoin-steps
Howard Weng
Howard Weng

我是 Howard Weng,很多人叫我嗡嗡。這個網站放了我的各種筆記。希望這些筆記也能順便幫助到有需要的人們!如果文章有幫助到你的話,歡迎幫我點讚哦!
另外,因為定位是「個人的隨手筆記」,有些文章內容「⚠️可能我理解有誤⚠️」或「?只寫到一半?」,如果有發現這樣的情況,歡迎在該文章的最下面留言提醒我!我會儘快修正或補上!感謝大家的建議與幫忙,讓網站能變得更好?

文章: 889

★留個言吧!內容有誤或想要補充也歡迎與我討論!