首页 > 技术文章 > CMake编译时支持GDB调试

leon2014dresden 2021-08-26 15:50 原文

在linux环境下通过设置编译选项CXXFLAGS使程序可以支持GDB调试,在CMake构建的工程中也可以方便的实现。

对于C++:
在CMakeLists.txt文件中添加如下语句:

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")

对于C:
在CMakeLists.txt文件中添加如下语句:

SET(CMAKE_BUILD_TYPE "Debug")
SET(CMAKE_C_FLAGS_DEBUG "$ENV{CFLAGS} -O0 -Wall -g -ggdb")
SET(CMAKE_C_FLAGS_RELEASE "$ENV{CFLAGS} -O3 -Wall")

gdb调试中对于引用过的头文件,只能访问到头文件,访问不到相应的源文件,所以无法查看函数定义。至少对于c语言的调试是这样的。

推荐阅读