QtCreator 和 CMake:调试发布版本

QtCreator and CMake: debug a release build

我想调试一个 CMake 项目构建以使用 QtCreator 发布。我只需要能够大体上逐步执行代码并在断点处停止(我知道如果有优化我将无法浏览变量并且步进可能不稳定)。

我尝试使用 -DCMAKE_BUILD_TYPE=Release 重建项目,并将 -Og、-O1、-O2 中的任何一个添加到 CMakeLists.txt 中的 add_compile_options()(使用 gcc 在 linux 中构建)。但是,当我在 QtCreator 中按调试时,我收到消息 "This does not seem to be a "Debug" build. Setting breakpoints by file name and line number may fail."事实上,代码不会在任何断点处停止。

我认为这应该可行,但我想知道 QtCreator 是否知道我 运行 CMake with -DCMAKE_BUILD_TYPE=Release 并且即使我在代码中添加 -Og 它也不会让我调试.是这样吗?我该如何解决这个问题?

要获得优化和可调试的构建,您可以将 CMAKE_BUILD_TYPE 设置为 RelWithDebInfo