6

尝试在 javascript 中的任何位置设置断点时,我遇到了在 Firefox Developer Edition 中移动到文件末尾的行为。

在此处输入图像描述

有时在重新启动 PC 后或第二天它可以工作,但我不确定是否某些代码会导致此问题,或者这是否是 Firefox 开发人员版中的错误。

4

4 回答 4

2

当您在不包含可执行代码的行上设置断点时,调试器会尝试提供帮助并将断点滑动到它可以找到的下一个最近的带有可执行代码的行。这并不像看起来那么容易,因为它可以在已经被垃圾回收的脚本上设置断点,所以调试器不能总是判断一行是否包含可执行代码,或者相应的脚本是否刚刚被垃圾回收.

当涉及到源映射时,问题就更加复杂了,因为调试器需要找出原始源中的哪些行与生成的源中设置断点的行相对应。我们目前这样做的方式并不总是准确的,这可能会导致像您看到的那样的问题。

也就是说,还有其他一些事情可以解释为什么您的断点没有按应有的方式工作。例如,我们还需要将断点位置映射到字节码偏移量,这也不总是准确的。

我们目前正在积极重构调试器中的断点代码,以尝试解决这些问题,因此如果您遇到回归问题,我不会感到惊讶。最好的办法是在 bugzilla 中针对该问题提交一个错误,最好有重现的步骤。

希望有帮助!

于 2015-02-03T17:10:20.320 回答
0

之后安装firebug,它会要求你升级到alpha版本接受升级,现在你可以把断点放在你想要的行。

问候。

于 2015-02-16T23:10:17.957 回答
0

不要断线

我的解决方案是删除变量中的多余行,以便所有内容都在一行

错误的语法:

 var inner_html =
'<a>
    <div class="list_autocomplete">
        <div class="image_autocomplete">
        <img src="'+ img_url + '">
        </div>
        <div class="label_autocomplete">' + item.label + '</div>
        <div class="description_autocomplete">' + item.description + '</div>
    </div>
</a>';

正确的语法:

var inner_html = '<a><div class="list_item_container"><div class="image"><img src="img/' + item.image + '"></div><div class="label">' + item.label + '</div><div class="description">' + item.description + '</div></div></a>';
于 2016-03-02T16:53:51.070 回答
0

我刚刚遇到了这个问题,问题只是我在有问题的代码中有语法错误。

一旦我删除了有问题的“====”,我就可以在该代码段中设置断点。

于 2015-09-10T01:04:14.293 回答