当您希望在CMake上启用调试时,可以使用cmake .. -DCMAKE_BUILD_TYPE=Debug,但这只会设置-g,这是默认的调试级别。
-glevel请求调试信息,并使用级别指定多少信息。默认级别为2。
级别0根本不产生任何调试信息。因此,-g0否定了-g。
第1级产生的信息最少,足以在程序的某些部分进行回溯,而您不打算调试这些信息。这包括函数和外部变量的描述,但没有关于局部变量的信息,也没有行号。
第3级包含额外的信息,例如程序中的所有宏定义。一些调试器在使用-g3时支持宏展开。
如何使cmake .. -DCMAKE_BUILD_TYPE=Debug集-g3代替-g
发布于 2021-02-11 02:43:33
设置CMAKE_C_FLAGS "-Og -g3 ...
发布于 2021-02-22 13:17:08
您还可以设置CMAKE_CXX_FLAGS_DEBUG,因此当CMake在调试模式下构建时,它只会影响代码:
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g3 -ggdb")参考文献:
https://stackoverflow.com/questions/66147941
复制相似问题