2

我有一个仅在发布模式下出现的错误,这是一个问题,因为我无法定期调试我的代码。断点显示“当前不会命中断点。没有为此文档加载任何符号。” 我已经尝试了许多其他人发布的关于这个问题的解决方案,但它们似乎都不适用于发布模式。关于如何在发布模式下查找错误或如何在发布模式下定期调试代码有什么建议吗?

4

2 回答 2

4

您需要在项目中启用调试符号。

如果这是一个 C++ 项目,您需要做 2 件事来获取调试信息:

1)在“配置属性”->“C/C++”->“常规”下的“项目设置”中,需要将“调试信息格式”设置为“程序数据库(/Zi)”。

2)在“配置属性”->“链接器”->“调试”下的“项目设置”中,确保将“生成调试信息”设置为“是(/DEBUG)”。

然后,构建(编译和链接)过程将生成一个带有调试信息的 PDB……通常在您的 exe 文件旁边,但带有 pdb 扩展名。

现在,当您从 Visual Studio 运行项目时,您应该能够调试和设置断点。

其他语言具有相似的设置,但位置略有不同。

于 2011-06-20T18:15:51.790 回答
0

默认情况下,发布配置不会构建 .pdb 文件(其中包含无法加载的符号)。您可以在项目属性中启用此选项。另请注意,默认情况下,您的代码将被优化。这可能会影响断点,所以通常,当我调试发布版本时,我会创建几个断点(由于无法加载您的符号,这不是您的问题......但是)。

如果您在构建程序的同一台计算机上运行,​​那么它通常会找到 .pdb 文件和源代码。如果没有,请确保 .pdb 文件与 .exe 位于同一目录中,以便运行时/调试器可以找到符号。

于 2011-06-20T18:15:26.373 回答