为什么我的断点会偏离预期位置

Why do my breakpoints flee from their intended position

我在 Firefox Developer Edition 中尝试在 javascript.

中的任何位置设置断点时,遇到断点移动到文件末尾的行为

有时在重新启动 PC 后或第二天它可以正常工作,但我不确定是某些代码导致了这个问题还是这是 Firefox Developer Edition 中的错误。

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

当涉及源映射时,问题会更加复杂,因为调试器需要弄清楚原始源中的哪些行与生成的源中设置断点的行相对应。我们目前执行此操作的方式并不总是准确的,这可能会导致您所看到的问题。

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

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

希望对您有所帮助!

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

此致。

我只是 运行 进入这个,问题只是我在相关代码中有一个语法错误。

只要我去掉了违规的“====”,我就可以在那段代码中设置断点了。

不要换行

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

Wrong Syntax:

 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>';

Correct Syntax:

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>';