溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么在VSCode中斷點(diǎn)調(diào)試CMake工程

發(fā)布時(shí)間:2021-03-10 14:02:01 來源:億速云 閱讀:238 作者:Leah 欄目:開發(fā)技術(shù)

怎么在VSCode中斷點(diǎn)調(diào)試CMake工程?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

初始狀態(tài)

假設(shè)我們已經(jīng)有一個(gè)CMake工程項(xiàng)目(比如從github上直接下載并做了一些修改),且我們可以保證能夠編譯、運(yùn)行(換言之,能保證無語法錯(cuò)誤,但不能保證無邏輯錯(cuò)誤)。

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

以上命令在終端中輸入、被(一氣呵成從頭至尾地)執(zhí)行。
此時(shí),我們的目標(biāo)是,在VS Code中實(shí)現(xiàn)設(shè)置斷點(diǎn),并在運(yùn)行時(shí)停在此處!

兩步走!

第一步: 修改CMakeLists.txt中相應(yīng)語句為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")

該步驟亦應(yīng)通過在終端輸入編譯、運(yùn)行指令,檢驗(yàn)并確保無誤。

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

怎么在VSCode中斷點(diǎn)調(diào)試CMake工程

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

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

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

ps. 整個(gè)launch.json文件的圖片放在了文末。

b. 點(diǎn)擊如圖位置的build,編譯CMake工程項(xiàng)目。

c. 打好斷點(diǎn),運(yùn)行即可。如圖程序停在了斷點(diǎn)位置(ps.單步執(zhí)行了一次,故停在了斷點(diǎn)后一行)。

怎么在VSCode中斷點(diǎn)調(diào)試CMake工程

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝您對(duì)億速云的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI