VSCode斷點調試CMake工程項目的實現步驟

斷點調試在【排查代碼錯誤】時,發揮著巨大的作用!本文旨在使用VS Code實現對CMake工程項目的【斷點調試】。

初始狀態

假設我們已經有一個CMake工程項目(比如從github上直接下載並做瞭一些修改),且我們可以保證能夠編譯、運行(換言之,能保證無語法錯誤,但不能保證無邏輯錯誤)。

mkdir build && cd build
cmake ..
make -j2
./run_test

以上命令在終端中輸入、被(一氣呵成從頭至尾地)執行。
此時,我們的目標是,在VS Code中實現設置斷點,並在運行時停在此處!

兩步走!

第一步: 修改CMakeLists.txt中相應語句為Debug模式。
【例】原語句可能在Release模式,如下:

set(CMAKE_BUILD_TYPE "Debug")
set(CMAKE_CXX_FLAGS_RELEASE "-O3 -Wall -g")

則,保證修改後為:

set(CMAKE_BUILD_TYPE "Release")
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -Wall -g -ggdb")

該步驟亦應通過在終端輸入編譯、運行指令,檢驗並確保無誤。

第二步: 在VS Code中配置一個launch.json文件
先上一張結果圖,以清晰闡述該過程!

在這裡插入圖片描述

從圖中可以看出,分成瞭三小步:

a. 配置lauch.json,依次點擊黃色框中的“小蟲子”和“齒輪”,將打開一個lauch.json的模板。而我們隻需要修改其中的一行命令:

"program": "${workspaceFolder}/build/estimate_depth" // 是可執行文件所在的位置

ps. 整個launch.json文件的圖片放在瞭文末。

b. 點擊如圖位置的build,編譯CMake工程項目。

c. 打好斷點,運行即可。如圖程序停在瞭斷點位置(ps.單步執行瞭一次,故停在瞭斷點後一行)。

在這裡插入圖片描述

參考博文:利用VScode和cmake編譯構建C++工程代碼

到此這篇關於VSCode斷點調試CMake工程項目的實現步驟的文章就介紹到這瞭,更多相關VSCode斷點調試CMake內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: