使用cmake为gdb创建符号表

Viv*_*oel 37 cmake debug-symbols

有没有办法只使用cmake为gdb创建符号表?

小智 106

将此行添加到文件CMakeLists.txt:

set(CMAKE_BUILD_TYPE Debug)
Run Code Online (Sandbox Code Playgroud)

  • 这也会禁用优化。对于分析而不是调试,您通常需要优化和符号(又名 -g O2)。如何用 clang 做到这一点? (5认同)

gui*_*ero 74

在发布模式下编译优化但添加调试符号,对分析很有用:

cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo ...
Run Code Online (Sandbox Code Playgroud)

或者使用NO优化编译并添加调试符号:

cmake -DCMAKE_BUILD_TYPE=Debug ...
Run Code Online (Sandbox Code Playgroud)


Bas*_*tch -12

生成调试信息的常用方法gdb是传递-ggccg++编译器(也在链接时)。

查看Cmake 常见问题解答,了解如何获取可调试的可执行文件。

  • 当人们提出问题时,他们很少希望被指给一本手册。谢谢,但不用谢.... (5认同)