我有一个带有javascript标记的.CSHTML文件。 在这个脚本标签中,我有几行javascript。 第一行的javascript引用了@ViewBag中的一个属性。 所有其他javascript行都是普通脚本,没有任何与MVC相关的引用。
观察: 我可以在每个javascript线上放置断点(visual studio 2015)。 但是,所有断点都在断点符号的中心有一个白点(红色圆圈)除了带有@ViewBag引用的行(此特定行在中心没有白点)。
似乎只有没有白点的断点才会在运行时被点击。
问题: 有人能解释一下这里发生了什么吗? 白点是什么意思? 为什么普通红色断点线是击中断点的唯一线?
答案 0 :(得分:11)
Visual Studio调试器实际上希望您调试.cshtml
文件中的实际服务器端代码,而不是其中的客户端Javascript。
IIRC,Visual Studio允许您在Internet Explorer(可能还有Edge)中按预期调试Javascript代码,但对于其他浏览器,您可能希望使用第三方工具或开发人员工具(F12)浏览器。
一种简单的方法是利用Javascript的debugger
关键字,您可以将其置于代码中并在打开开发人员工具的情况下运行(只需按F12然后刷新页面)。它将触及一个断点,浏览器将允许您按照预期的那样单步执行代码:
function doWork(){
// Ensure that this line is hit with the Developer Tools open in your
// browser
debugger;
// Do work here
}
答案 1 :(得分:0)