735

Chromeデバッガーに、コードを介して、またはなどのコメントタグを使用して、行を強制的に中断させたいconsole.break()

4

12 に答える 12

1230

コード内で使用できdebugger;ます。開発者コンソールが開いている場合、実行は中断されます。ファイアバグでも動作します。

于 2012-04-06T23:49:37.850 に答える
33

、を使用して、が呼び出されたdebug(function)ときに中断することもできます。function

コマンドラインAPIリファレンス:デバッグ

于 2016-08-19T11:00:51.937 に答える
27

ボタンクリックリスナーを設定し、debugger;

$("#myBtn").click(function() {
 debugger;   
});

デモ

http://jsfiddle.net/hBCH5/

JavaScriptでのデバッグに関するリソース

于 2014-05-04T17:33:09.403 に答える
15

他の人がすでに言っdebugger;たように、行く方法です。ブラウザのコマンドラインから関数呼び出しの直前にブレークポイントを設定および削除するために使用できる小さなスクリプトを作成しました:http: //andrijac.github.io/blog/2014/01/31/javascript-breakpoint/

于 2014-02-02T04:55:36.543 に答える
7

[スクリプト]タブで、コードがある場所に移動します。行番号の左側にあるをクリックします。これにより、ブレークポイントが設定されます。

スクリーンショット:

Chromeのブレークポイントのスクリーンショット

これで、右側のタブ内でブレークポイントを追跡できるようになります(スクリーンショットを参照)。

于 2012-04-06T23:53:28.483 に答える
7

debuggerはEcmaScriptによって予約されたキーワードであり、ES5以降オプションのセマンティクスが与えられています

その結果、Chromeだけでなく、FirefoxやNode.jsでも使用できますnode debug myscript.js

標準は言う:

構文

DebuggerStatement :
    debugger ;

セマンティクス

DebuggerStatementの生成を評価すると、デバッガーで実行したときに実装がブレークポイントを発生させる可能性があります。デバッガーが存在しないかアクティブでない場合、このステートメントは観察可能な影響を及ぼしません。

本番のDebuggerStatement:デバッガー; 次のように評価されます。

  1. 実装定義のデバッグ機能が利用可能で有効になっている場合は、
    1. 実装定義のデバッグアクションを実行します。
    2. 結果を実装定義の完了値とします。
  2. そうしないと
    1. 結果を(通常、空、空)とします。
  3. 結果を返します。

ES6に変更はありません。

于 2016-05-31T15:26:20.443 に答える
3

JavaScriptコードをデバッグする方法はたくさんあります。次の2つのアプローチは、コードを介してJavaScriptをデバッグするために広く使用されています

  1. console.log()ブラウザコンソールで値を出力するために使用します。(これは、コードの特定のポイントでの値を理解するのに役立ちます)

  2. デバッガキーワード。デバッグする場所に追加debugger;し、ブラウザーの開発者コンソールを開いて、[ソース]タブに移動します。

JavaScriptコードをデバッグするためのその他のツールと方法については、W3Schoolのこのリンクに記載されています

于 2018-04-26T14:18:35.620 に答える
2

それは可能であり、あなたがこれをしたいと思うかもしれない多くの理由があります。たとえば、ページの読み込みの開始に近いjavascriptの無限ループをデバッグすると、Chrome開発者ツールセット(またはFirebug)が正しく読み込まれなくなります。

のセクション2を参照してください

http://www.laurencegellert.com/2012/05/the-three-ways-of-setting-breakpoints-in-javascript/

または、必要なテストポイントで、デバッガーという単語を含む行をコードに追加します。

于 2014-01-21T10:02:20.383 に答える
2

ブレークポイント:-

ブレークポイントは実行を停止し、JavaScript値を調べることができます。

値を調べた後、コードの実行を再開できます(通常は再生ボタンを使用)。

デバッガー:-

デバッガー; JavaScriptの実行を停止し、デバッグ関数を呼び出します。

デバッガーステートメントは実行を一時停止しますが、ファイルを閉じたり、変数をクリアしたりすることはありません。

Example:-
function checkBuggyStuff() {
  debugger; // do buggy stuff to examine.
};
于 2016-11-04T18:06:07.367 に答える
2

debug(functionName)関数をデバッグするように設定することもできます。

https://developers.google.com/web/tools/chrome-devtools/javascript/breakpoints#function

于 2018-01-19T10:37:56.770 に答える
0

javascriptコードを一時的にフリーズし、永続的に停止しないため、javascriptコードをdebugger;強制終了して停止する場合はお勧めしません。debugger;

コマンドでjavascriptコードを適切に強制終了して停止する場合は、次を使用します。

throw new Error("This error message appears because I placed it");

于 2020-03-30T21:56:59.690 に答える
-1

この要点Gitpre-commitフックは、merbプロジェクトから漂遊デバッガーステートメントを削除します

debuggerコミット中にブレークポイントを削除したい場合に役立つかもしれません

于 2021-02-04T09:21:24.280 に答える