VS2008调试器显示不正确的值。如何清理/重置/修复调试器?

时间:2014-04-27 04:49:12

标签: c++ visual-studio-2008 qt4 visual-studio-debugging memory-corruption

我的VS2008调试器显示几乎所有变量的损坏值。我知道这是不正确的,因为我只是打印了那些给我正确值的值。

以下是一些虚假的价值观, enter image description here enter image description here

但同时在consol打印中,

enter image description here

所以,我不知道这里有什么问题。但我认为问题应该在Visual Studio上。任何人都知道如何解决这个问题?

更新:这是一个Qt应用程序。以下是我尝试的内容:

  • 重建所有项目
  • 删除了调试文件夹并重建
  • 从git repo获得了一份新的副本并重建了
  • 已安装SP1以及VS2008的所有C ++相关更新/修补程序

1 个答案:

答案 0 :(得分:1)

如果问题没有出现在非Qt应用程序中,那么此特定应用程序中的某些设置可能会在启用优化的情况下进行编译。

它在Visual Studio中变得令人困惑,但没有任何东西阻止“Debug”构建以启用优化,并且“Release”构建以关闭优化(更常见的是,您将看到关闭优化的版本构建)。

最重要的是,由于未生成调试符号,可能会出现无法调试的“调试”版本(项目中的另外两个设置会在编译和链接期间打开/关闭符号)。换句话说,“Release”和“Debug”构建配置中可以进行“调试开/关”和“优化开/关”的任意组合。

由于您正在生成符号,因此问题不在于不生成符号。因此,请检查您正在构建的所有项目,并查看“优化”设置,而不是配置是否命名为“Debug”或“Release”。