Visual Studio 2010不显示本地变量的调试信息

时间:2011-03-24 17:04:22

标签: c++ visual-studio-2010

Visual Studio 2010不显示本地变量的调试信息。虽然看到我的类变量没有问题。是否有一些我缺少的设置?

这是一个“调试”版本。

我试过去Project Properties - > C ++ - >优化并禁用所有优化。

7 个答案:

答案 0 :(得分:4)

答案 1 :(得分:2)

检查以确保您的项目已设置为导出调试符号。这些应该是.pdb文件。它们包含代码的调试信息。我相信设置在项目下 - > Linker->生成调试信息。

答案 2 :(得分:1)

对于那些对此问题有任何疑问的人......

  1. 从这里下载补丁 http://archive.msdn.microsoft.com/KB2452649/Release/ProjectReleases.aspx?ReleaseId=5350
  2. 重新启动计算机
  3. 重建您的项目
  4. 并且很可能一切都会好的......

答案 3 :(得分:1)

如果您在switch-case语句中遇到它,只需添加一个空调的空命令,如

if(true)
;

用于测试目的。似乎某些旧版本的Visual Studio遇到了一个错误,在这种情况下,在一个案例中缺少任何类型的条件(如果......),在以下情况下调试期间会发现Locals不可见。

答案 4 :(得分:0)

如果您正在使用Visual Studio 2010 Express(就像我一样),可以通过运行Windows Update来获取Service Pack 1来解决此问题。

答案 5 :(得分:0)

始终只包含兼容的调试库:

我来到这里是因为Visual Studio 2010没有显示opencv 2.4.2库中某些局部变量的调试信息。在Mat _InputArray::getMat(int i) const中,我看到了几个变量,但缺少k和vv。 (当getMat(错误地)只返回空矩阵时,我在cv::_interlockedExchangeAdd中遇到异常。) 无论如何,问题是:我已经包括(作为库,在dll的PATH和#pragma comment)调试和发布库。这似乎导致了这个问题。仅包含调试库后,一切运行良好。

答案 6 :(得分:0)

通过启用选项>我能够在VS2015中解决此问题。调试>一般>使用本机兼容模式。

MSDN says that“选择此选项后,调试器将使用Visual Studio 2010本机调试器而不是新的本机调试器。”我们使用基于VC10的英特尔C ++ 12.1构建,因此这很有意义!