【问题标题】:Visual Studio Javascript BreakPoint not getting hit, why?Visual Studio Javascript BreakPoint 没有被命中,为什么?
【发布时间】:2014-06-23 15:00:24
【问题描述】:

可以为 javascript 的代码块设置断点,如下图所示。 我们如何使用它们? VS 总是忽略。

【问题讨论】:

标签: javascript asp.net visual-studio breakpoints


【解决方案1】:

如果在调试时将 Internet Explorer 设置为浏览器,Visual Studio 理论上可以在客户端脚本设置的断点处停止。要使用该功能,您需要确保在 IE Internet 选项的高级选项卡中选中“禁用脚本调试”。

但是,我发现 VS 脚本调试有点不稳定;断点并不总是命中,尤其是 VS2010 或更早版本。我个人的经验是它在 VS2012 或更高版本中效果最好。

话虽如此,如果您使用 VS 作为客户端脚本调试器,并且您发现客户端断点没有被命中,最好插入一个“调试器”;在要中断的行之前的行,以确保它被 VS 脚本调试器拾取。

pennstatephil 在上面发布了一个链接,确实提供了有关该主题的更多信息:http://msdn.microsoft.com/en-us/library/7seh8d72.aspx

编辑:我无法添加 cmets,但作为对 sb9 关于为什么要使用 IE 的评论的回应,我发现在回发发生和服务器端行为发生之前调查脚本行为时,在 Visual Studio 中进行调试更方便回发后立即。此外,有时 VS/IE 组合会捕获 Chrome 和 Firefox/Firebug 报告的错误,并带有无意义的错误消息。

【讨论】:

  • 我发现即使在 VS 2013 中它也有点不稳定;它并不总是在断点处停止。如果没有,重新启动调试会话通常可以工作。但是,我的断点在 jQuery .ready 事件上,可能只是时间问题导致 VS 在代码执行之前无法设置断点。
  • @HolisticDeveloper,是的,现在我只是明确地插入“调试器;”直接进入代码。 JavaScript 断点最近或多或少不再有效......也许是最近的更新包?不确定...
  • 我取消选中工具 -> 调试 -> 即时调试中的设置,这对我有用。
【解决方案2】:

Visual Studio 2017 中有一个enable/disable 脚本调试选项

只需启用它,您就可以开始使用了。

【讨论】:

    【解决方案3】:

    调试器无法在断点处停止的另一种情况是使用捆绑。 要调试 JavaScript 文件,我们需要移除捆绑。

    我希望这会对某人有所帮助。

    【讨论】:

    • 我只是浪费了将近 30 分钟,这就是原因。
    【解决方案4】:

    是的,您可以在 Visual Studio 的客户端页面上放置断点

    首先将调试器放入java-script代码中并在浏览器中运行页面

    调试器

    之后在浏览器中打开您的页面并查看检查元素,您会看到以下视图

    【讨论】:

    • 这是迄今为止唯一的一个答案,对我帮助很大。谢谢
    【解决方案5】:

    为什么会发生这种情况似乎有无限的可能性。经过几个小时的搜索,我刚刚解决了这个问题。

    我的特殊问题是,在我的同事启用捆绑 (see description here) 后,我的断点立即被禁用。我不得不进入我们的 BundleConfig.cs 文件并注释掉上面写着的行:

    BundleTable.EnableOptimizations = true;
    

    在我这样做之后,他们被击中了。您需要重新添加该行以进行部署。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多