9

IE8 已经过时了,很明显,只要您在调试模式下启动项目,它就会自动打开脚本 (JavaScript) 调试。有谁知道如何关闭这个?我搜索了 IE8/VS2008 设置,但什么也没看到。

编辑:您不能只进入 Internet 选项并禁用调试:http: //blogs.msdn.com/webdevtools/archive/2008/03/05/jscript-debugging-made-easy-with-ie8.aspx这是因此您可以在常规 Web 浏览时关闭调试,但在调试时自动开启。我希望脚本调试永远关闭。

真正的答案:即使有人已经赢得了赏金,但他们并没有真正回答这个问题。我直接找到了源代码(Microsoft)并最终在此处获得了包含一些解决方法的博客文章。甜的!

4

8 回答 8

8

这很烦人,但您可以在每个会话中执行此操作:

  1. 开始调试你的网站,F5
  2. 在顶部菜单中,转到调试;Windows;进程
  3. 在我的进程窗口中,有两个进程,一个用于 IExplore:script,另一个用于 WebDev.WebServer.EXE:Managed。右键单击 IExplore:script lineitem 并选择 Detach Process。

更新

Nicholas 提供的链接解释说,安装Silverlight SDK然后为您的 Web 项目启用 Silverlight 调试(属性页中“Web”选项卡底部的复选框)将阻止脚本调​​试器附加到 IE 进程。基本上,您不能同时调试两者,Silverlight 选项优先。该链接还提供了一些注册表调整,以部分或完全禁用脚本调试。

发布此答案后,我开始使用 Silverlight 解决方法技术,因此当我看到 OP 找到相同的解决方案时,我回来更新它。由于这个答案被接受并获得了赏金,但并没有真正回答这个问题,我希望这个更新能给答案带来更多的价值。

于 2009-03-19T21:53:39.440 回答
1

当我按照上面的“每个会话”解决方案中的描述分离 iexplore.exe 进程时,它也会分离 aspnet_wp.exe 进程并将我转储出调试。

选项 | 高级 | 禁用脚本调试”也不起作用。原因如下:http: //blogs.msdn.com/webdevtools/archive/2008/03/05/jscript-debugging-made-easy-with-ie8.aspx

显然 VS2008 会为您打开它,无论 IE8 中的高级设置如何。

我发现的唯一解决方法是首先启动 IE8 会话(例如使用解决方案资源管理器中的“在浏览器中查看”),然后选择调试 | 在VS2008中附加到进程并附加到aspnet_wp.exe进程。

于 2009-03-20T15:41:34.270 回答
1

这是一个允许您正常调试 asp.net 代码但禁用 javascript 的解决方案。

设置两个注册表值:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN] "TabProcGrowth"=dword:00000001

如果您使用 x64 窗口,您还必须设置此 [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN] "TabProcGrowth"=dword:00000001

解决方案位于:
http ://social.msdn.microsoft.com/Forums/en/vsdebug/thread/e179672e-5a33-41ec-abc6-08c0b429af61

于 2011-02-24T00:40:35.553 回答
1

简单的解决方法:

将 Visual Studio 项目中的默认浏览器(通过使用“浏览...”更改默认值)更改为 Google Chrome,例如。比当你点击 F5 时它会打开谷歌浏览器。

手动打开您的 Interent Exploerer 并导航到您要调试的页面。

于 2014-01-03T22:56:02.910 回答
0

您是否尝试过,在 IE8 中,打开 Internet 选项 > 高级 > 为 Internet Explorer 和其他选择“禁用脚本调试”?

于 2009-03-19T21:57:36.230 回答
0

您是否尝试过使用 IIS 进行调试,而不是使用内置的 Web 服务器 (Cassini)?

我主要使用 IIS 进行调试,并没有注意到 IE 8 的这种行为。

可能不是最理想的解决方案,但它确实比每次都必须手动附加/分离到进程中胜出。

于 2009-03-27T01:53:15.750 回答
0

正如 Jimmie R Houts 建议的那样,首先使用 IIS 而不是 Cassini。

最重要的是稍微不同的工作流程怎么样,而不是一直按 F5,您可以使用 Attach/Detach 来控制 VS 将调试的内容。

  1. 构建您的解决方案
  2. 启动您选择的网络浏览器。
  3. 导航到您使用的页面。
  4. 在 Visual Studio 中:调试 -> 附加到进程...
  5. 根据您的操作系统/IIS 版本选择 aspnet_wp.exe 或 w3wp.exe。
  6. 选择要调试的内容(托管代码/Sql)
  7. 在页面上做任何你想调试的事情。
  8. 当您需要更改代码时,请分离调试器(按停止) - 请注意您选择的浏览器不会关闭。
  9. 更改代码、重建解决方案、重新连接调试器并继续使用您选择的浏览器。

我觉得这很方便,因为如果您必须在到达您正在调试的区域之前执行几个步骤 - 使用这种方法您不需要重做所有步骤。当然是一直按 F5 :)

如果要在 Visual Studio 中调试 JS,请附加到 iexplore 进程和调试脚本。

于 2009-03-29T07:25:05.170 回答
0

将项目的“启动操作”设置为“启动外部程序”,然后选择 IE8 可执行文件并作为命令行参数提供项目的 url。

当您使用 F5 启动项目时,javascript 调试将被禁用。

于 2009-05-10T19:22:38.827 回答