【发布时间】:2020-02-24 08:18:17
【问题描述】:
我正在为我的 c++ 项目使用 Qt 创建器和 cdb 调试器。我需要在代码中设置一些断点,看看运行时会发生什么。不幸的是,由于一些第三方库,我绝对不能使用调试模式,所以我必须坚持发布模式。
在 Visual Studio 中,我总是做这样的事情,并在发布模式下轻松使用断点,但我如何在 Qt creator 中做到这一点?
(版本:Qt 5.12 / Qt creator 4.8)
【问题讨论】:
-
我遇到了完全相同的问题,只能部分通过将
CONFIG += optimize_debug添加到我的.pro来解决它。有更多选项可以看到mkspecs\features\default_post.prf,你可以试试,但对我来说,它们都没有像 VS 那样给我完整的调试功能。 UPD:我也有QMAKE_CXXFLAGS+=/Zi和QMAKE_LFLAGS+= /INCREMENTAL:NO /Debug -
@mvidelgauz 谢谢。我加了,没用。显然我们不应该期望发布模式下的全部调试能力,但断点并不多。我不知道为什么它不起作用。
-
了解其他标志,我确实与我提到的那些标志有断点。我的另一个技巧:从 VS 启动您的 qt 应用程序(使用这些标志构建),确保生成
pdb文件并且对 vs 可见 - 对我来说非常适合 -
我忘记了我做过的另一件事 - 破解
\mkspecs\common\msvc-desktop.conf:找到QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_OPTIMIZE_DEBUG -Zi -MD并将$$QMAKE_CFLAGS_OPTIMIZE替换为$$QMAKE_CFLAGS_OPTIMIZE_DEBUG -
@mvidelgauz msvc_desktop 也没有用。顺便说一下,很多 *.conf 文件令人困惑:(
标签: c++ qt qt-creator