私はChromeでFirebugの「すべてのエラーを解消」機能と同等のものを探しています。 [スクリプト]タブでは、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>
編集:私が回答した元のリンクが無効になりました新しいURLは になります。https://developers.google.com/web/ tools/chrome-devtools/javascript/add-breakpoints#exceptions 2016-11-11現在。
私はこの質問に答えがあると思いますが、それはもはや正確ではありません。 上のリンクを使用してください^
(リンクは上記の編集に置き換えられました) - すべての例外または未処理の例外で中断するように設定できるようになりました。 (ボタンを表示するには、[ソース]タブにいる必要があります。)
Chromeはまた、DOMの変更やネットワークイベントの中断など、他の本当に便利なブレークポイント機能も追加しました。
通常、私は質問に再回答しませんが、私は同じ質問を自分で持っていたので、この間違った答えを見つけました。 :)
これはChromeの[すべての例外で一時停止]ボタンでサポートされるようになりました。
有効にするには:
このボタンには複数の状態があります。ボタンをクリックして切り替えます
残念ながら、Firebugがそうであるように、Chromeの開発者ツールは「すべてのエラーを止める」ことができないようです。
ほぼすべてのエラーが例外をスローします。私が考えることができる唯一のエラーは "例外時に一時停止"オプションではうまくいかないだろう、それはコードのどれかが実行される前に起こる構文エラーである、とにかく一時停止する場所がなく、コードも実行されません。
どうやら、Chromeは例外がtry-catchブロックの中にあっても一時停止しません。それはキャッチされていない例外で一時停止します。変更する方法がわかりません。
例外がどの行で発生したのかを知る必要があるだけなら(例外が再現可能であればブレークポイントを設定できます)、catchブロックに渡されるError
オブジェクトには、例外が発生した場所を示すstack
プロパティがあります。