Visual Studio 2008 Breakpoint不会被命中

时间:2011-06-20 18:03:58

标签: visual-studio-2008 debugging release-mode

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

2 个答案:

答案 0 :(得分:4)

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

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

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

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

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

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

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

答案 1 :(得分:0)

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

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