今天下午我遇到了一个非常烦人的错误。我一直在随便研究我正在研究的控制台应用程序一段时间,当我快速观察任何变量时,VS2012 调试器毫无理由地开始挂起。它挂了大约 15-20 秒,然后我收到消息
函数评估被禁用,因为之前的函数评估超时
如果我然后按 F10,调试器将取消附加,并且该过程继续进行。它在几乎所有隐式声明的变量上崩溃
这是我迄今为止为解决此问题所采取的步骤。
我已采取的步骤:
- 重启VS
- 重启电脑
- 删除所有断点
- 删除了 ncb 和 suo 文件
- 符号服务器未启用
- 没有使用网络位置,用户文件是本地的,项目文件是本地的。
- 仅我的代码启用/禁用
- 确保未启用启用 .NET Framework 源步进
- 已启用确保跨步属性
- 确保启用源服务器支持未启用
- 使用 /SafeMode 启动 Visual Studio 以抑制扩展
- 清除监视窗口(反正是空的)
- 尝试将目标平台更改为 x64 和任何 CPU
- 禁用防病毒软件
- 重置 Visual Studio 默认设置(devenv.exe /ResetSettings)
- 重新安装 VS
我正在调试的应用程序:
- 类型:C# 控制台应用程序
- 目标框架:3.5
- 平台目标:x86
为了我的健康,请帮忙。
编辑:我有 Visual Studio Update 3,版本 11.0.60610.01
编辑:我的电脑规格
- Windows 7 旗舰版 64 位
- 戴尔 Optiplex 960
- 英特尔酷睿 i5-2400 3.1 Ghz
- 4 GB 内存
编辑:我在两台没有 Visual Studio 更新 3 的机器(相同的代码)上进行了测试,一台可以正常工作,一台不能正常工作。
编辑:A 创建了一个具有相同设置的简化控制台应用程序,其中仅包含以下代码行。我在观看时遇到了挂起问题,然后它也解开了。我的机器可能有什么问题?
这是一个挂起调试器的简化应用程序
static void Main(string[] args)
{
var _AppLocation = System.Reflection.Assembly.GetEntryAssembly().Location;
_AppLocation = _AppLocation.Substring(0, (_AppLocation.Length -
(System.Reflection.Assembly.GetEntryAssembly().GetName().Name.Length + 5)));
var directoryInfo = new DirectoryInfo(_AppLocation);
Console.ReadyKey(); //I break here, check the directoryinfo
}
编辑 10/3/13:这仍然没有解决,完全重新安装所有东西(办公室、框架、vs)并没有解决问题。它必须是与操作系统/硬件相关的 vs2012 错误。如果他们发现有用的东西,我会在微软开一张票并更新。
编辑 10/30/13:此问题已在两台具有不同硬件配置的机器上重现。我仍在与微软联系以查找问题。看起来像是与框架/windows build/visual studio 相关的东西。
编辑 11/19/13:我仍在与 Microsoft VS 升级团队联系,这是问题的进程监视器日志和 Visual Studio 故障转储。http://sdrv.ms/1egpX4O