【发布时间】:2010-09-20 19:04:31
【问题描述】:
我使用的是 Firebug 1.5.4。当我引用一个未定义的变量或类似的变量时,它会在问题发生的地方中断,并让我进入调试视图,在那里我可以看到堆栈并检查变量。
但是,当我抛出自己的异常时,它只会将我带到控制台并打印出“未捕获的异常:废话”。我希望它打破并让我检查变量。我怎样才能告诉 Firebug 这样做?
【问题讨论】:
-
那对你有用吗?更多问题?
标签: firebug
我使用的是 Firebug 1.5.4。当我引用一个未定义的变量或类似的变量时,它会在问题发生的地方中断,并让我进入调试视图,在那里我可以看到堆栈并检查变量。
但是,当我抛出自己的异常时,它只会将我带到控制台并打印出“未捕获的异常:废话”。我希望它打破并让我检查变量。我怎样才能告诉 Firebug 这样做?
【问题讨论】:
标签: firebug
安装 Firebug 1.6b1 http://getfirebug.com/releases/firebug/1.6X,Firebug > Console > "the exception" 点击左栏中的断点选择器。运行你的代码。 Firebug 在该行中断。
或 Firebug > 控制台 > [||] 在下一个错误时中断
【讨论】:
受访者很有帮助,但忽略了我缺少的一些非常关键的东西; window.onerror 事件。完整代码如下:
window.onerror = function(msg) {
debugger;
}
【讨论】:
调用Web Developer Debugger(Tools => Web Developer => Debugger or Ctrl + Shift + S),点击齿轮图标并勾选“Pause on exception”:
或者在Web Developer Console中执行debugger;!
官方Web Developer Debugger 文档:https://developer.mozilla.org/en-US/docs/Tools/Debugger
【讨论】:
在代码中添加debugger; 语句或使用firebug 的Script 选项卡单击行号(插入断点)。
如果您只想在抛出异常时这样做,您可以将调试器语句放在 catch 块中。
【讨论】:
catch 块中捕获异常时,但 debugger; 在那里(或在萤火虫中插入断点)。这样你只会在异常发生时进入调试器。
debugger; 与在该行的firebug 中插入断点完全相同。