调试触发警报的JS代码()

Boy*_*iev 12 javascript debugging firebug

我有一个使用ext-js库构建的系统.系统的一部分列出了流经在线商店的订单.单击某行时,将显示其他订单详细信息.几天前,一旦点击一行,就会出现一条消息"FIXME:created panelID ...".之后,正常运行继续,即错误消息只是烦人的并且在它出现后不会破坏正常执行.

我正在尝试调试JS代码以查看错误消息在什么情况下出现,即为什么它突然开始出现.我正在尝试使用FireBug.有没有人有任何提示我可以用来实现我的目标,建立什么行代码触发警报()?关于此事的任何意见都非常感谢.

Che*_*try 16

Firebug有一个命令行API来以编程方式创建断点.例如:

debug(fn);
Run Code Online (Sandbox Code Playgroud)

为函数创建一个断点fn.不幸的是,这不能用于具有本机代码的功能(内置函数alert).但是,你可以使用这个技巧.

使用此脚本在代码中插入脚本块 -

window.alert_ = window.alert;
window.alert = function() {
    alert_.apply(window,arguments)
};
Run Code Online (Sandbox Code Playgroud)

你所做的就是用自己的方法重新定义window.alert.

现在将断点附加到firebug中:

debug(alert);
Run Code Online (Sandbox Code Playgroud)

现在,下一次脚本调用alert时,您将在函数中获得断点.然后,您可以分析堆栈跟踪并找出它的调用位置.


Ale*_*kov 5

Here's more cross-browser version of @chetan's answer

        window.alert_ = window.alert;
        window.alert = function () {
            debugger;
            alert_.apply(window, arguments);
        };
Run Code Online (Sandbox Code Playgroud)