我遇到的问题是,每次执行某个特定功能时,JS的chrome调试器都不会停止。我试过调试器;还可以通过在左边的行旁边的装订线上放置一个蓝色标记来设置我希望代码停止的断点。
为什么会发生这种情况?
答案 0 :(得分:23)
如果没有明确的复制计划,很难说出为什么你的断点不会发生。
但是,最明确的一种方法就是写下:
debugger;
到您要停止的位置。在装订线上没有任何蓝色标志的情况下,调试器将停止运行。
注意:请务必在完成后清除所有debugger;
。
答案 1 :(得分:11)
我发现的工作是使用上面的建议设置我的断点,然后在扩展程序的控制台中运行:
location.reload(true);
重新打开扩展,启动断点并允许我调试!
问题似乎与调试器在扩展名后加载有关,因此无法捕获断点。希望有所帮助!
答案 2 :(得分:3)
我遇到了一个问题,我刚刚解决了断点。 尽管我可以在包含的Javascript文件中设置和命中断点,但html中的javascript中的断点没有被击中。
我发现问题是源文件包含两次。基本html页面(未动态包含)中包含 sourceURL标记。这导致相同的javascript在源窗格中存在两次,从而导致问题。
我删除了" sourceURL"来自基本html页面的标记,以及断点恢复工作
答案 3 :(得分:1)
此外,可能会禁用断点。您可以在调试器中或按Ctrl + F8
切换它答案 4 :(得分:1)
答案 5 :(得分:0)
测试你的函数调试点,你可以直接从控制台调用该函数..它将调用并点击你的断点
答案 6 :(得分:0)
使用角度js等客户端解决方案,模块和控制器的选择与文件名无关。很可能您会在与正在调试的实际文件相同的文件夹中创建文件的备份/副本。这可能是调用js文件而不是你想要的文件。您可以删除该文件,它应该可以正常工作。
答案 7 :(得分:0)
检查您的功能是否被正确调用。对我来说,我通过概念化程序的流程来解决问题,并发现函数调用有一些错误。在搞清楚后,很容易继续。
答案 8 :(得分:0)
我发现在其中包含async属性的标记引用的代码不会在开发人员模式下的断点处停止。
答案 9 :(得分:0)
我遇到了同样的问题,原因是我启用了捆绑,即
在 BundleConfig.cs 我有BundleTable.EnableOptimizations = true;
当我将其更改为 BundleTable.EnableOptimizations = false;
时,它工作了.......
答案 10 :(得分:0)
如果使用的是VS,请检查配置是否为DEBUG。 MVC何时发布,将JS缩小。
答案 11 :(得分:0)
对我来说,这似乎是Chrome中的错误-不会造成断点命中,甚至debugger
也不会。我必须关闭然后重新打开Chrome,然后断点才起作用。
答案 12 :(得分:0)
答案 13 :(得分:0)
这听起来有些愚蠢...但是它对我有用...简单地关闭并重新打开浏览器即可恢复JS调试功能。