【发布时间】:2011-01-15 01:20:37
【问题描述】:
我正在 Chrome 中寻找与 Firebug 的“中断所有错误”功能等效的功能。在 Scripts 选项卡中,Chrome 有一个“暂停所有异常”,但这与中断所有错误并不完全相同。
例如,当使用以下代码加载页面时,我希望 Chrome 中断foo.bar = 42 行。相反,即使启用“暂停所有异常”,我也没有得到预期的结果。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<script type="text/javascript">
function doError() {
foo.bar = 42;
}
window.onload = function() {
try {
doError();
} catch (e) {
console.log("Error", e);
}
}
</script>
</head>
<body>
</body>
</html>
【问题讨论】:
-
您还想到了哪些其他类型的错误?
-
任何错误,比如:对未定义变量(如
console.log(gaga))或未定义属性(如window.foo.bar)的引用。 -
那些应该抛出异常。 “暂停异常”选项对我有用。我能想到的唯一错误是语法错误,但这些错误发生在代码执行之前。
-
是的,我现在正在尝试这个,它似乎打破了错误所在。几天前我已经这样做了,而不是破坏代码中的错误,它破坏了由错误引起的异常被捕获的地方,向上堆栈。去图吧!
标签: javascript google-chrome debugging webkit