如何:调试发行版本

本文介绍要设置的编译器和链接器开关,以便对应用程序的发布版本进行调试。

从 Visual Studio 2022 版本 17.14 开始,可以使用更好的体验来调试优化代码,就像它是未优化编译一样,同时保持优化代码的速度。 有关详细信息,请参阅 C++动态调试(预览版)

调试发布版本

  1. 打开项目的“属性页”对话框。 有关详细信息,请参阅在 Visual Studio 中设置 C++ 编译器和生成属性

  2. 单击“C/C++”节点。 将“调试信息格式”设置为“C7 兼容(/Z7)”或“程序数据库(/Zi)”

  3. 展开“链接器”,然后单击“常规”节点。 将“启用增量链接”设置为“否(/INCREMENTAL:NO)”

  4. “链接器”下,选择 “调试 ”节点。 将“生成调试信息”设置为“是(/DEBUG)”

  5. “链接器”下,选择 “优化 ”节点。 将引用设置为否 (/OPT:NOREF),并将启用 COMDAT 折叠设置为否 (/OPT:NOICF)

  6. 现在可以调试发布版本应用程序。 若要找到问题,请单步执行代码(或使用实时调试),直到找到发生失败的位置,然后确定错误的参数或代码。

    如果应用程序可在调试版本中正常运行,但在发布版本中失败,则某种编译器优化可能会暴露源代码中的缺陷。 若要隔离该问题,请禁用每个源代码文件的所选优化,直到找到引起问题的文件和优化。 (若要加快该过程,可以将文件分为两个组,对一个组禁用优化,当在某个组中发现问题时,继续划分,直到隔离问题文件。)

    使用 /RTC 尝试在调试版本中发现此类 bug。

    有关详细信息,请参阅优化代码

另请参阅

修复发行版本问题