VS2010和IE10:附加脚本调试器到iexplore.exe进程失败

121

我使用Win7 x64、VS2010,已安装IE10 Win7 Preview和ReSharper 6.1。

当我尝试开始调试时,会收到以下提示:

"Attaching the Script debugger to process '[1111] iexplore.exe' on machine 'MINE' failed. A debugger is already attached."

我可以点击OK并查看附加的调试会话 - [1111]被灰色覆盖,并且有另一个包含我的解决方案标题的iexplore.exe实例。我可以手动附加,然后它就正常工作了。

我认为可能是因为有两个iexplore.exe pids,所以才会出现问题,但我没有打开两个标签或窗口,而且我已禁用了自动崩溃恢复。

尝试过这个方法: Attaching the Script debugger to process '[XXXX] IEXPLORE.EXE' on machine 'NAME' failed

但是这并没有起作用。

有什么想法吗?


1
非常抱歉。我已经更新了答案,因为我再次遇到了同样的问题 - 这一次我成功地解决了我遇到的问题。 - mstaffeld
12个回答

306

针对IE10中JavaScript调试问题,有一个更简单的解决方法:

  1. Close IE
  2. In elevated cmd prompt run this command:

    regsvr32.exe "%ProgramFiles(x86)%\Common Files\Microsoft Shared\VS7Debug\msdbg2.dll"
    

(或 32 位操作系统上的 %ProgramFiles%


2
同上...这个解决方案适用于Win7,64位,使用VS2010和IE10。 - Marc Temanson
2
这对我在Win7 64位和IE10上有效,应该标记为答案。 - kvc
1
这对我在德国Win7(32位)上的VS2010和IE10有所帮助:regsvr32.exe "C:\Program Files\Common Files\microsoft shared\VS7Debug\msdbg2.dll" - Marcel
11
请务必以管理员身份运行。 - Win
2
可能只需要点赞,而不是一遍又一遍地发布相同的评论。 - Joel McBeth
显示剩余11条评论

38

IE10的升级会重置一堆东西。我采用了以下两步骤来解决问题。

  1. 在IE高级设置下,浏览中删除“禁用脚本调试(Internet Explorer)”的勾选
  2. 使用管理员权限在命令提示符中运行以下命令:

    regsvr32.exe“%ProgramFiles(x86)%\Common Files\Microsoft Shared\VS7Debug\msdbg2.dll

这两个步骤以及重新启动浏览器当然为我解决了问题。

我也同意上面标记的卸载解决方案并不是一个合适的解决方案。


为什么这个没有被选为答案?对我来说可行(IE10,VS2010,WIN 7 64位)。 - TheVillageIdiot
1
我也必须进行你提到的这两个更改。如果你尝试在Visual Studio中附加到IE进程,如果没有禁用这些设置,它甚至不会显示脚本调试作为一种类型。 - yourbuddypal

17

我有完全相同的问题.. 我找到了一个临时解决方案,但每次必须执行以下相同的序列:

  1. 点击“调试”菜单
  2. 点击“窗口”菜单
  3. 点击“进程”菜单
  4. 右键单击iexplorer.exe并选择“分离该进程”

问题在于每次编译我的项目时都必须重复这个过程...


这对我很有用,尽管我不得不附加到每个iexplore.exe实例。 - Gaff
这是目前最接近问题的答案。任何东西都可以配置为调试吗? - Shawn
我原本希望这个方法对我也有效,因为它对其他人有效。但是,它并没有完全奏效。我可以消除它向我显示的警告,并因此有了一种直觉,认为它会奏效,但它并没有在断点处停止。我应该在设置断点后分离进程吗?还是在之前?或者这无关紧要? - Vikram
有趣,你有什么办法可以阻止VS自动附加? - KurzedMetal

14

我在使用VS2010和IE10(Win7)时遇到了同样的问题。经过几周的尝试解决这个问题后,我最终决定启动VS2012来调试我的网站。我还更新了VS2012到SP1,并重新启动了我的机器,现在VS2010在IE10中的调试正常工作。

所以尝试安装VS2012 SP1来解决VS2010和IE10之间的兼容性问题。


谢谢,这立刻起作用了,我试过几乎所有其他建议。我不知道罪魁祸首是VS2012和Win7上的IE10,还是只有VS2012。 - Fares
我尝试了最高投票答案,但无济于事。我已经安装了VS2012更新1,但在安装IE10之前就进行了安装。我再次运行了VS2012更新1安装程序,并选择了“修复”选项,这解决了问题。 - JustinP8
这对我有用。我使用的是Win 7、VS2010,然后安装了VS2012 Express(免费版),解决了这个问题。 - flying227
需要注意的是,它被称为VS2012更新1,而不是VS2012 SP1。我安装了VS2012更新2(没有安装更新1),它也解决了这个问题。 - NightOwl888

8

有人建议在提升的命令提示符中运行此操作:

regsvr32.exe "%ProgramFiles(x86)%\Common Files\Microsoft Shared\VS7Debug\msdbg2.dll"

我尝试了一下,它报告说找不到dll文件。我搜索了msdbg2.dll,但没有找到。显然,它是被隐藏起来了。

我运行了以下命令:

regsvr32.exe "C:\Program Files (x86)\Common Files\Microsoft Shared\VS7Debug\msdbg2.dll"

它运行正常。

这是在Windows 7,64位操作系统和VS2010高级版上完成的。


1
谢谢,这在我的机器上完美运行(Windows 7,64位,VS2010高级版)。 - Jack

3

去年12月,我在WIN7 + IE10 CTP上遇到了VS2010和VS2012的同样问题。我希望这个问题在IE10的RTM版本中得到解决,但今天我发现它并没有。

我尝试了这篇文章中的每一个解决方案,甚至安装了VS2012更新2 CTP 4,但都没有解决问题。

最后,我决定回退到IE9。我没有使用MonteChristo的答案中描述的正确步骤。

我通过以下步骤卸载了IE10:

  1. Win + R
  2. appwiz.cpl
  3. 打开"打开或关闭Windows功能"
  4. 取消勾选Internet Explorer 10
  5. 重新启动

但这样并不会将IE9还原。只是删除了IE10。所以我又按照相同的步骤安装了IE10。

此后,我忍不住再次测试,惊奇地发现它成功了,我恢复了JavaScript调试功能。我注意到的是,在卸载IE10之前,运行/浏览(见下图)中列出了两个"Internet Explorer"。

卸载后,重新安装IE10后它只列出了一次。我不知道这是否相关,但我想提一下。

enter image description here


重新安装IE10解决了我的问题。 - mxasim

2
尝试重置IE设置,然后在“工具”->“Internet选项”->“高级”中取消勾选“禁用脚本调试(IE)”,最后重启电脑。

0
即使是最新发布的IE10 for Win 7,问题仍然存在。然而,得到了提示,安装VS2012 SP1可以解决此问题,因此我通过Web平台安装程序(v4.5)安装了Visual Studio 2012 Express - 问题似乎已经解决!

2
对我来说也是一样的:安装VS2012 Express Web版解决了在VS2010中的IE10问题。 - C.M.
1
我有Visual Studio 2010 Premium。当您安装VS2012 Express Web版时,您仍然可以使用Visual Studio 2010吗? - Martin Smellworse
1
是的,您可以并行安装两个版本——自2月26日以来一直这样开发,没有任何问题。 - Rob Koch

0

我有 VS2010和12IE10Win 7 x64

我尝试了上述所有方法(除了降级到IE9),但都无济于事。

我有一个预感,VS2012 Update 2 可能会解决这个问题,我的预感是正确的。

没有cmd,没有重新安装,也没有重新启动。它为VS2010和12修复了它。

我希望它也能帮助其他人。


是的,这个方法有效!我也使用了完全相同的配置。我也降级到IE9,但仍然无法解决问题。然后我进行了VS2012更新2,现在在VS2010中使用IE9进行调试又可以正常工作了(我想IE10也应该可以)。 - Allie

0

我的电脑上安装了VS2010和VS2012。这是一个ASP.NET项目,但JS调试无法正常工作。我尝试了两个版本,结果都一样。 我所做的一切都没有成功:

  1. regsvr32.exe "%ProgramFiles(x86)%\Common Files\Microsoft Shared\VS7Debug\msdbg2.dll" - 没有 帮助
  2. 在属性页面中选中/取消选中“Silverlight”复选框 - 没有
  3. 从IE 10降级到IE 9-> IE 8 - 没有运气
  4. 修复VS 2010 - 对我没用
  5. 在IE“高级设置”中取消选中“禁用脚本调试(Internet Explorer)”和“禁用脚本调试(其他)” - 没有

最终,我已经安装了“Visual Studio 2012更新的远程工具”和“VS2012更新4”。我不确定修复了什么问题,但它已经消失了。而且VS2010和VS2012开始调试JavaScript。因此,似乎某些组件已经损坏。今天,我认为,修复这个问题的最佳选择应该是重新安装IE,我的意思是降级并重新安装,进一步您可以安装VS2012的Update 4。

请注意:

“在属性页窗口中,复选框‘Silverlight’必须取消选中”


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