CSHTML javascript 上的断点?
breakpoint on javascript in CSHTML?
我有一个带有 javascript 标签的 .CSHTML 文件。
在这个脚本标签中,我有几行 javascript。
第一行javascript引用@ViewBag中的一个属性。
所有其他 javascript 行都是没有任何 MVC 相关引用的纯脚本。
观察:
我可以在这些 javascript 行的每一行上放置断点 (visual studio 2015)。
但是,所有断点在断点符号(红色圆圈)的中心都有白点,除了带有 @ViewBag 引用的行(此特定行在中心没有白点)。
在运行时间里好像只有没有白点的断点被击中了。
问题:
有人可以解释这里发生了什么吗?
白点是什么意思?
为什么纯红色断点线是唯一命中断点的线?
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
}
我有一个带有 javascript 标签的 .CSHTML 文件。 在这个脚本标签中,我有几行 javascript。 第一行javascript引用@ViewBag中的一个属性。 所有其他 javascript 行都是没有任何 MVC 相关引用的纯脚本。
观察: 我可以在这些 javascript 行的每一行上放置断点 (visual studio 2015)。 但是,所有断点在断点符号(红色圆圈)的中心都有白点,除了带有 @ViewBag 引用的行(此特定行在中心没有白点)。
在运行时间里好像只有没有白点的断点被击中了。
问题: 有人可以解释这里发生了什么吗? 白点是什么意思? 为什么纯红色断点线是唯一命中断点的线?
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
}