【发布时间】:2014-06-23 15:00:24
【问题描述】:
可以为 javascript 的代码块设置断点,如下图所示。 我们如何使用它们? VS 总是忽略。
【问题讨论】:
-
使用您的浏览器开发工具并在其中设置断点。
-
这就是我一直在做的事情。我只是想知道我是否错过了这里有价值的东西。
标签: javascript asp.net visual-studio breakpoints
可以为 javascript 的代码块设置断点,如下图所示。 我们如何使用它们? VS 总是忽略。
【问题讨论】:
标签: javascript asp.net visual-studio breakpoints
如果在调试时将 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 报告的错误,并带有无意义的错误消息。
【讨论】:
调试器无法在断点处停止的另一种情况是使用捆绑。 要调试 JavaScript 文件,我们需要移除捆绑。
我希望这会对某人有所帮助。
【讨论】:
为什么会发生这种情况似乎有无限的可能性。经过几个小时的搜索,我刚刚解决了这个问题。
我的特殊问题是,在我的同事启用捆绑 (see description here) 后,我的断点立即被禁用。我不得不进入我们的 BundleConfig.cs 文件并注释掉上面写着的行:
BundleTable.EnableOptimizations = true;
在我这样做之后,他们被击中了。您需要重新添加该行以进行部署。
【讨论】: