首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用-g3启用gdb -g3调试级别?

如何使用-g3启用gdb -g3调试级别?
EN

Stack Overflow用户
提问于 2021-02-11 02:24:08
回答 2查看 746关注 0票数 0

当您希望在CMake上启用调试时,可以使用cmake .. -DCMAKE_BUILD_TYPE=Debug,但这只会设置-g,这是默认的调试级别。

-glevel请求调试信息,并使用级别指定多少信息。默认级别为2。

级别0根本不产生任何调试信息。因此,-g0否定了-g。

第1级产生的信息最少,足以在程序的某些部分进行回溯,而您不打算调试这些信息。这包括函数和外部变量的描述,但没有关于局部变量的信息,也没有行号。

第3级包含额外的信息,例如程序中的所有宏定义。一些调试器在使用-g3时支持宏展开。

如何使cmake .. -DCMAKE_BUILD_TYPE=Debug-g3代替-g

  1. https://stackoverflow.com/a/864902/4934640
  2. https://sourceware.org/bugzilla/show_bug.cgi?id=11067
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-02-11 02:43:33

设置CMAKE_C_FLAGS "-Og -g3 ...

票数 1
EN

Stack Overflow用户

发布于 2021-02-22 13:17:08

您还可以设置CMAKE_CXX_FLAGS_DEBUG,因此当CMake在调试模式下构建时,它只会影响代码:

代码语言:javascript
复制
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g3 -ggdb")

参考文献:

  1. Change default value of CMAKE_CXX_FLAGS_DEBUG and friends in CMake
  2. CMake - compile with /MT instead of /MD
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66147941

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档