cmake加入了gdb
在CMakeLists.txt中加入对gdb支持的语句:
# 添加对gdb的支持
SET(CMAKE_BUILD_TYPE "Debug")
SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g2 -ggdb")
SET(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O3 -Wall")
然而,出现了问题,加入的断点不生效。gdb命令行调试也不起作用。
梳理工程目录,明确语句添加位置
工程目录如下:
我的错误在于:在根目录的cmake文件中添加了gdb调试语句,但是在src文件夹下的cmake文件中没有添加。
正确的做法是:仅在src文件夹下的cmake语句中添加即可
思考
-g选项并不是将源代码嵌入到目标文件中,gdb调试的时候也需要源文件。
所以应该在源文件目录下的cmake文件中添加相应语句,使得gdb调试时,源代码与可执行文件中的机器代码能够对应的上。