無限ループまたは再帰呼び出しの場合、基本的にブラウザは何か(ChromeまたはFFのいずれか)に応答しなくなります。ログを見ることができず、デバッガに入ることができず、コンソール自体を開くこともできません。ブラウザは単にフリーズします。これはとても迷惑です。それは私がここに座って私の頭を傷つけること以外何もできないようだ...誰もこれを解決する方法について光を当てることができますか?Javascriptで無限ループや再帰呼び出しに入ると、javascriptをデバッグする方法は?
24
A
答えて
44
もう1つのトリックは、Chromeのウェブ開発ツールを開いて、ブラウザが明らかにハングアップしたときにポーズを試すことです。それから、現在実行中の行で壊れます。いくつかのステップで、あなたはこれの底に達するべきです。
あなたが知っている(または疑わしい)と仮定すると、infiteループは、あなたがこのようなコードを追加することができ起こる機能:
var calls = 0;
function iSuspectToBeLoopingInfititely() {
calls += 1;
if (calls > 100) { debugger; }
}
方法は100回呼び出された後これは、ChromeでJavaScriptデバッガを停止します。 注:デベロッパーツールのウィンドウを開いている場合は、Chromeはdebugger;
の呼び出しでのみ切断されます。
0
Chromeで問題が発生しましたが、ブラウザウィンドウの[Paused in debugger]に表示されますが、ChromeがループしていたときにChromeが混乱していた場所を確認できませんでした... Firefoxでは、 30秒後にポップアップが表示され、ファイルと一般的な行を凍結してさらにデバッグし、その領域の周りにブレークポイントを設定することができます。
-2
次のコードを使用して、無限ループを停止できます。
debugger;
関連する問題
- 1. JavaScriptオブジェクトリテラルメソッド:再帰呼び出し
- 2. JavaScriptカウントダウンタイマー再帰呼び出し毎日
- 3. 再帰呼び出しapi(axios/javascript)
- 4. Javascriptクラスの再帰呼び出し(requestanimationframe)
- 5. JavaScriptクイックソートの無限再帰?
- 6. Javascriptウィンドウのツリー再帰と無限オブジェクト
- 7. Javascriptで再帰的に "親"コンストラクタを呼び出しますか?
- 8. $ m-> compが無限再帰呼び出しエラーを返す
- 9. Javascript:再帰関数を記述して呼び出す方法は?
- 10. 無限ループで関数を呼び出す方法は?
- 11. JavaScriptが無限ループに入るイベント
- 12. JavaScriptと無限ループ
- 13. JavaScriptで再帰的にWebサービスを呼び出すと、StackOverflowが発生する
- 14. JavaScript素数検索無限再帰
- 15. ブラウザでJavascript関数呼び出しデバッグ
- 16. JavaScriptでの再帰関数の呼び出し
- 17. JavascriptでWindow.openへの再帰呼び出し。
- 18. Javascript - 再帰呼び出しの代わりに
- 19. javascriptクラスのsetTimeoutコールを再帰的に呼び出す
- 20. JavascriptでrequestAnimationFrameループを呼び出す方法は?
- 21. Java - 無限再帰的ループ
- 22. javascriptで関数の再帰呼び出しで同じ変数にアクセスする方法はありますか?
- 23. UMLで再帰呼び出しをモデル化する方法
- 24. jQueryで.NET WSDL呼び出しを呼び出す方法Javascript?
- 25. JavaScript MutationObserverが再帰的に呼び出す
- 26. これを再帰呼び出しにラップする方法
- 27. 関数を呼び出すときに無限ループforループ
- 28. javascript/Polymerで再帰関数を呼び出せません
- 29. 再帰呼び出しの回数を制限する - Java
- 30. componentWillReceivePropsで呼び出されるアクションは、無限ループに入ります。
ループが開始される前にデバッガにブレークポイントを設定しますか? – PhonicUK
@PhonicUKは動作しません..... – lkahtz