【问题标题】:IE8 and VS2008: How do I disable script debugging?IE8 和 VS2008:如何禁用脚本调试?
【发布时间】:2009-03-19 21:50:01
【问题描述】:

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

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

真正的答案:尽管有人已经赢得了赏金,但他们并没有真正回答这个问题。我直接找到了源代码(微软),最后得到了一篇博客文章,里面有一些解决方法here。甜!

【问题讨论】:

    标签: visual-studio-2008 internet-explorer-8


    【解决方案1】:

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

    1. 开始调试您的网站,F5
    2. 在顶部菜单中,转到 Debug;Windows;Processes
    3. 在我的进程窗口中,有两个进程,一个用于 IExplore:script,一个用于 WebDev.WebServer.EXE:Managed。右键单击 IExplore:script 行项目并选择分离进程。

    更新

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

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

    【讨论】:

    • 我也是这样做的,是的,仅适用于每个会话
    【解决方案2】:

    当我按照上面“每个会话”解决方案中的描述分离 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进程。

    【讨论】:

      【解决方案3】:

      这是一个允许您正常调试 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

      【讨论】:

        【解决方案4】:

        简单的解决方法:

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

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

        【讨论】:

          【解决方案5】:

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

          【讨论】:

          • 查看我更新的帖子;这不起作用。 IE8/VS2008 改变了一切。
          【解决方案6】:

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

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

          可能不是最理想的解决方案,但它肯定比每次都手动附加/分离到进程要好。

          【讨论】:

            【解决方案7】:

            正如 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 进程和调试脚本。

            【讨论】:

              【解决方案8】:

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

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

              【讨论】:

                猜你喜欢
                • 2013-10-26
                • 1970-01-01
                • 1970-01-01
                • 2011-10-09
                • 1970-01-01
                • 2011-05-19
                • 2010-11-07
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多