Firebug – 断点没有命中
我在一个外部的JS文件中设置断点,我一直无法让Firebug以一致的方式击中断点。 它有时有效,但大部分时间没有。 我能做到的唯一方法就是打开“打破所有错误”
我用过debugging器; 声明也没有任何运气。
如果行号不是绿色的,好像Firebug不能debugging那部分代码,因为它超出了范围。 所以,如果你使用的东西像$(function(){…}); Firebug将无法访问函数和variables。
那有意义吗?
另外,是否有可能某个其他函数或某个东西正在覆盖您正在尝试debugging的那个函数。 甚至可能包含两次相同的JS文件。
希望有所帮助。
Firebug是否显示脚本选项卡中的绿色行号的代码? 这表示可debugging的代码行。
我经历过这种症状,其中没有任何一行数字是绿色的。 我刷新页面,神奇地,他们再次绿色。
我也经常遇到这个问题。 我发现重新打开标签似乎有帮助(断点不会丢失)。 但“打破所有错误”似乎是最可靠的打破方式。
我很less对IE有什么好处,但在这种情况下,它是正确的。 在VS中debuggingJavaScript只是起作用。 它碰到断点(“debugging器”)而没有问题,并停止执行页面上的所有其他JavaScript代码。 所以我经常用它作为备份。
尝试使用Firebug 1.4在帧内debugging页面时遇到此问题。 从“This frame”上下文菜单中select“仅显示此框架”或“在新选项卡中打开框架”,然后刷新页面似乎使脚本可debugging。
Firebug上的“控制台”选项卡是否显示任何其他JavaScript的错误? 我发现如果debugging断点之前的代码存在JavaScript错误,那么它将永远不会到达该行代码,直到前面的破坏的代码被修复。
我花了1个小时。
我有一个像这样的<script>
标签:
<!-- jQuery Validate --> <script src="ajax/jquery.validate/1.10.0/jquery.validate.min.js" type="text/javascript">
你能发现问题吗?
那么我花了那么多时间来发现它。 缺less/
closures<script>
标签。
<!-- jQuery Validate --> <script src="ajax/jquery.validate/1.10.0/jquery.validate.min.js" type="text/javascript" />
这是肯定的,由于一些复制/粘贴,然后试图改变代码…我只是在这种情况下扮演傻瓜! 🙂
/
添加/
我能够得到在萤火虫工作的断点。 这说得通。
最后,我可以看到那些幸运的绿色数字。
我也间歇性地遇到了这个问题。 我从断点中select“禁用所有断点”和“启用所有断点”,并开始工作。
只是为了增加这些提到的可能性。
这个是自然而然地在压力下解决生产问题的时候发生的。
我不小心引入了一个语法错误:
function: myFunc(){} // function body }
就这样。 在控制台日志的开头有一个错误,但我没有注意到它。 我一直试图debugging该文件,但Firebug不会步入它。
所以,如果这发生在你身上:检查控制台,也许有一个语法错误短路加载的文件。
对我来说,它工作后,我删除了每个document.write()
调用。
与FF 36和FB 2.0.8同样的问题:在控制台中没有错误,代码工作正常,但是FB显示HTML而不是JS,在debugger
断点处停止,但是在一些随机的HTML行显示,不停止在常规断点处。
我通过从页面中提取JS并将其移动到它自己的JS文件中来解决它。
但有一个问题:当脚本驻留在自己的JS文件中时,即使使用window.varName
语法,我也无法使FF中的“全局”variables工作(在IE中工作正常,无论代码在哪里)。 所以最后在一个单独的文件中debuggingFB,但恢复到内联生产。
我也有这个问题。 也许与KIT-Inwi的答案有关……但是我在每页加载时都使用PHP生成随机行。
Firebug似乎记得整个HTML页面的行号,把断点放在,不一定是行的Javascript,这意味着你把这个页面加载断点的行号不一定是相同的行代码下次你加载它,所以断点将出现“跳跃”。
我不知道如何解决它与每次更改的dynamic内容,但我通过删除随机行来解决它,所以具有断点的行在每个页面加载相同。