Javascript 如何在Firebug on alert()中设置断点?

Javascript 如何在Firebug on alert()中设置断点?,javascript,debugging,firebug,Javascript,Debugging,Firebug,我有一个非常复杂的网站,我知道某个地方有一个带有描述的alert()。有没有办法在alert()调用上设置断点?HTML已生成,因此我不能仅grep获取消息。您可以使用控制台替换警报功能: window.alert = function() { debugger; }; Firebug的脚本面板允许您在所有JavaScript源中搜索代码 因此,您可以简单地搜索警报(或搜索警报框显示的消息,并在调用该消息的行上设置断点 另一种方法是使用()在执行的下一个JavaScript语句处停止。因此,

我有一个非常复杂的网站,我知道某个地方有一个带有描述的
alert()
。有没有办法在
alert()
调用上设置断点?HTML已生成,因此我不能仅grep获取消息。

您可以使用控制台替换
警报功能:

window.alert = function() { debugger; };
Firebug的脚本面板允许您在所有JavaScript源中搜索代码

因此,您可以简单地搜索
警报(
或搜索警报框显示的消息,并在调用该消息的行上设置断点

另一种方法是使用()在执行的下一个JavaScript语句处停止。因此,单击该按钮,然后执行导致警报框移位的操作。

注意:只有在显示警报框的事件之前没有调用其他事件处理程序时,这才有效。

您是一个图例。谢谢!如果有数百个这样的地方,在模糊化/缩小的代码中?如果代码模糊化和缩小,您至少可以通过{}按钮将其取消显示,并在
警报()中搜索文本
。此外,您还可以尝试@SLaks的技巧。不过,如果您没有精简代码的源代码,它通常是第三方代码,您应该为其维护者提交错误报告,而不是自己调试。或者它可能是遗留代码。或者,上帝禁止,它可能是
eval()
string concatenation(字符串连接)或其他任何形式的调试。你没有抓住要点。这一点是,挂接库函数是一种广泛有用的调试功能,应该很容易。挖掘任意数量的不熟悉代码并不容易。我同意挂接库函数应该很容易(虽然我认为应尽可能避免调试模糊或缩小的代码)。我已经使用Firebug的Break On Next功能添加了第二个解决方案,尽管我不知道一个简单的解决方案适用于每个用例。如果您知道更好的方法来查找提问者要求的
alert()
,请随意编写答案。