Visual Studio Javascript BreakPoint没有被击中,为什么?

时间:2014-05-06 20:22:32

标签: javascript asp.net visual-studio breakpoints

可以为javascript的代码块设置断点,如下面的屏幕截图所示。 我们怎样才能使用它们? VS总是忽略。

enter image description here

5 个答案:

答案 0 :(得分:9)

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

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

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

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

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

答案 1 :(得分:2)

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

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

答案 2 :(得分:2)

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

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

enter image description here

答案 3 :(得分:1)

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

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

BundleTable.EnableOptimizations = true;

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

答案 4 :(得分:1)

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

首先将调试器放在java脚本代码中并在浏览器中运行页面

  

调试器

Add debugger in java-script code

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

Client side view of break point in java-script