Visual Studio JIT调试器加载非常慢,需要30秒

4
当我运行执行 .Net 程序时,
System.Diagnostics.Debugger.Launch()

这应该会调用JIT调试器。这是我机器上发生的情况:

弹出一个名为“机器调试管理器”的警报,解释了它的命令行选项。好的,所以这是mdm.exe,但它不能安静吗?

现在出现了真正的问题:大约30秒之后,Visual Studio JIT调试器选择对话框出现。

由于procmon在这30秒内没有显示任何注册表或文件系统活动,因此我认为会发生某些超时(由于30秒的长度)。 Procmon还显示vsjitdebugger.exe在最开始就启动了,因此这30秒显然是vsjitdebugger而不是mdm的问题。

有人有什么想法如何摆脱这个延迟吗?


1
调试器是否可能尝试从离线的远程共享中获取符号文件? - Frédéric Hamidi
2
不,那发生在选择之后。您不应该看到mdm.exe,超时类似于网络超时,尽管时间有点短。您的机器出了问题,您需要极客小队,而不是程序员。使用Mark Russinovich在他的博客中描述的故障排除技术。 - Hans Passant
很好,没有完全阅读博客,但你提到的 mdm 指向了正确的方向。我检查了我的 Win7 笔记本电脑,发现根本没有 mdm.exe。谢谢。 - citykid
1个回答

2

解决方法:

移除了"C:\Program Files (x86)\Common Files\Microsoft Shared\VS7DEBUG\mdm.exe"。

这似乎是一些旧的东西。regsvr32 /u mdm.exe 失败了,所以可以手动清理COM注册表。

JIT现在立即启动。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接