怎么在VSCode中断点调试CMake工程?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
初始状态
假设我们已经有一个CMake工程项目(比如从github上直接下载并做了一些修改),且我们可以保证能够编译、运行(换言之,能保证无语法错误,但不能保证无逻辑错误)。
mkdir build && cd buildcmake ..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.单步执行了一次,故停在了断点后一行)。
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网行业资讯频道,感谢您对编程网的支持。