在页面检查器中启用 javascript 调试器

Posted

技术标签:

【中文标题】在页面检查器中启用 javascript 调试器【英文标题】:Enable the javascript debugger in the Page Inspector 【发布时间】:2012-08-25 04:53:28 【问题描述】:

Visual Studio 2012 带有非常好的页面检查器。我喜欢!但问题是,我还没有找到如何(如果?)我可以打开 javascript 调试。有人能指出我正确的方向吗?

【问题讨论】:

【参考方案1】:

    在 IE9 中(仅一次):工具 > Internet 选项 > 高级选项卡 > 在浏览类别中 > 清除“禁用脚本调试”复选框(两者)> 重新启动 IE。

    在 VS 2012 中:运行页面检查器(当 javascript 错误框打开时,单击否!)

    从 VS 菜单中选择:DEBUG > Attach to process...

    选择“WebBrowserServer.exe”并点击附加

    在页面检查器窗口中单击刷新图标。

调试效果很好,但这是一个条件。不要在代码中插入任何断点(或在之前清除它们 - DEBUG > Delete All Breakpoints)。这可能会导致很多问题 - 从挂起和冻结到完全崩溃您的 VS。

【讨论】:

哇,说真的,用页面检查器进行 js 调试是多么复杂?!!? ::哭声:: 当你想直接在 VS 窗口中调试时,在页面检查器中 - 它数字。也许 MS 不太喜欢 JS 开发者;) 我试过这个,但不知道如何实际调试脚本。页面检查器会突出显示我在 html 中的位置,但在遇到我的脚本时根本不显示任何信息。你说代码中不要有断点,我都删除了。但是它怎么知道在哪里中断 javascript? @Riz 正确的答案可能应该是“没有集成。解决方法如下” 此方法会导致我的 VS 实例立即锁定,直到我终止 WebBrowserServer.exe 进程。整个事情的烦人之处在于,我正在尝试调试仅在 Page Inspector 中出现的 JS 问题。【参考方案2】:

直到本周,我才能够在 Visual Studio 2012 中进行 JavaScript 的调试,只需在作为断点的 JavaScript 函数中输入“调试器”,并且能够在 Visual Studio 窗口中单步执行 JavaScript 代码与 C# 代码相同。在过去的 11 个月里,直到 1 周前,我都这样做了。我没有更改默认安装设置。

这是 Rion Williams 在 Asp.Net 论坛中提出的解决方案。 http://forums.asp.net/t/1984115.aspx?Debugging+Javascript+in+MVC 如上所述,它允许我在过去 11 个月内正确单步执行我的代码。

【讨论】:

在 Visual Studio 中运行您的 asp.net MVC 站点时,如果您正在捆绑您的 javascript 并将 BundleTable.EnableOptimizations 设置为 true,则 javascript 文件中的“调试器”语句将不起作用。如果您使用默认捆绑程序(App_Start 文件夹中 BundleConfig.cs 中的 RegisterBundles 方法)查找“BundleTable.EnableOptimizations”并将其设置为“false”。

以上是关于在页面检查器中启用 javascript 调试器的主要内容,如果未能解决你的问题,请参考以下文章

从 Chrome 远程调试协议访问 JavaScript 变量

Chrome Inspector 中的 Javascript 调试:变量在手表和控制台中显示为未定义,但可以在悬停时检查

如何使用 WebView 启用 WebKit 的 Android 应用程序的远程调试/检查器?

Chrome 检查器 - 远程调试器 - 在托管模式下未启用剪贴板。请使用 chrome://inspect 检查

在 Chrome webkit 检查器中不断生成“不安全的 JavaScript 尝试使用 URL 访问框架...”错误

Javascript 无法停止页面加载