WebStorm 2020.1ヘルプ

プログラムのステップ・スルー

ステップは、プログラムの段階的な実行を制御するプロセスです。

WebStormは、戦略に応じて使用される一連のステップアクションを提供します(たとえば、次の行に直接移動するか、途中で呼び出されたメソッドを入力する必要があるかなど)。

ステップボタンは、デバッグツールウィンドウのツールバーにあります。

Debug tool window: stepping buttons on the toolbar

ステップ・オーバー

現在のコード行をステップオーバーし、強調表示された行にメソッド呼び出しが含まれている場合でも、次の行に移動します。メソッドの実装はスキップされ、呼び出し元メソッドの次の行に直接移動します。

  • ステップ・オーバーボタン Step Over button をクリックするか、F8を押します。

この例では、13行目が実行されようとしています。ステップオーバーすると、デバッガーは distribution() メソッドにジャンプすることなく14行目に直接移動します。

Step over

スキップされたメソッド内にブレークポイントがある場合、デバッガーはそれらで停止します。途中でブレークポイントをスキップするには、強制的にステップ・オーバーを使用します。

Step over: stopping at a breakpoint within the skipped method

ステップ・イン

呼び出された関数のコード内のステップ。

  • ステップ・インボタン Step Into button をクリックするか、F7を押します。

この例では、13行目が実行されようとしています。ステップインすると、デバッガーは distribution() メソッドの実装にジャンプし、その結果がどのように生成されるかを詳細に調べることができます。

Stepping into a called method

回線上に複数のメソッド呼び出しがある場合、WebStormは入力するメソッドを確認します。この機能はスマート・ステップ・インと呼ばれます。

You can configure スマート・ステップ・イン to be automatically used every time when there are multiple method calls on the line. Alternatively, it can be invoked only when you expressly do so.

一部のスクリプトは、通常はデバッグする必要がないため、ステップ・インによってスキップされます。このリストは、設定/環境設定ダイアログ Ctrl+Alt+Sビルド、実行、デプロイ | デバッガー | ステップページで微調整できます。

  1. 設定/環境設定ダイアログ Ctrl+Alt+Sで、ビルド、実行、デプロイ | デバッガー | ステップに移動します。デバッガ。ステップページが開きます。

  2. すべてのライブラリスクリプトをスキップするには、ライブラリ・スクリプトにステップ・インしないチェックボックスを選択します。

  3. 特定のスクリプトへのステップ実行を抑止するには、スクリプトにステップ・インしないチェックボックスを選択し、ツールバーのボタンを使用してスクリプトのリストを作成します。

スマート・ステップ・イン

スマート・ステップ・インは、1行に複数のメソッド呼び出しがあり、どのメソッドに入るかについて具体的に知りたい場合に役立ちます。この機能により、目的のメソッド呼び出しを選択できます。

Smart step into
  1. メインメニューから実行 | デバッグ・アクション | スマート・ステップ・インを選択するか Shift+F7を押します。

  2. メソッドをクリックします。矢印キーまたはタブを使用して選択し、Enter / F7を押すこともできます。

回線で複数のメソッド呼び出しがあるたびに、通常のステップ・インの代わりにスマート・ステップ・インを使用するように構成できます。これは 設定/環境設定 | ビルド、実行、デプロイ | デバッガー | ステップ で行われます。

ステップ・アウト

現在のメソッドから抜け出し、その呼び出しに移動します。

  • ステップ・アウトボタン Step Out button をクリックするか、Shift+F8を押します。

この例では、ステップアウトするとループのすべての反復がスキップされ、呼び出しにすぐに戻ります。

Stepping out from a method to its caller

カーソル位置まで実行

キャレットの位置に達するまで実行を継続します。

  • プログラムを一時停止する行にキャレットを置き、the Run to Cursor button をクリックするか、Alt+F9を押します。

    Run to cursor: set the cursor at the line to stop at
  • ガターの行番号をクリックします。

    Run to cursor: click the line number

    行番号をクリックすると、カーソル位置まで実行はデフォルトでアクティブになります。オフにするには、設定/環境設定ダイアログ Ctrl+Alt+Sを開き、ビルド、実行、デプロイ | デバッガーに移動して、行番号をクリックしてカーソルまで実行するチェックボックスをオフにします。

この例では、カーソル位置まで実行は実行を継続し、ブレークポイントがあるかのように7行目で停止します。 print_chart() メソッドにブレークポイントがある場合、プログラムはそこで中断されます。

Run to cursor: the debugger stops at the breakpoint in the skipped code

途中でブレークポイントをスキップするには、強制的にカーソル位置まで実行を使用します。

強制的にステップ・イン

このメソッドが通常のステップ・インによってスキップされた場合でも、メソッドのステップ。

  • 強制的にステップ・インボタン Force Step Into icon をクリックするか、Alt+Shift+F7を押します。

この例では、プログラムは、ライブラリからのメソッドである console.log()の呼び出しがある行の前で停止します。強制的にステップ・インでは、すぐに console.log() メソッドの実装にジャンプしますが、通常のステップ・インでは4行目になります。

Force step into overrides the list of ignored scripts

強制的にカーソル位置まで実行

キャレットの位置に達するまで実行を継続します。途中のブレークポイントはすべて無視されます。

  1. プログラムを一時停止する行にキャレットを置きます。

  2. メインメニューから実行 | デバッグ・アクション | 強制的にカーソル位置まで実行を選択するか Ctrl+Alt+F9を押します。

この例では、強制的にカーソル位置まで実行は実行を継続し、ブレークポイントがあるかのように23行目で停止します。 print_chart() 内のブレークポイントは効果がありません。

The caret is at the line where we want to go

強制的にステップ・オーバー

現在のコード行をステップオーバーし、強調表示された行にメソッド呼び出しが含まれている場合でも、次の行に移動します。呼び出されたメソッドにブレークポイントがある場合、それらは無視されます。

  • メインメニューから実行 | 強制的にステップ・オーバーを選択するか Alt+Shift+F8を押します。

この例では、print_chart() メソッドにブレークポイントがありますが、それ以外の場合はループのすべての反復でアプリケーションを中断しますが、ステップオーバーすると23行目のprintステートメントに移動します。

Force Step Over: the breakpoint at the call of a method is ignored

フレームにドロップ

最後のフレームを元に戻し、スタック内の前のフレームを復元できます。JavaScriptとNode.jsをデバッグするときに、これは、もう一度見たいクリティカルスポットを逃した場合に関数を再入力できます。

  1. フレームにドロップボタン Drop Frame buttonをクリックします。

  2. ドロップされたフレームを復元するには、the Resume Program button をクリックするか、F9を押します。

プログラムを再開すると、WebStormはドロップされたフレームが実行される前にローカル変数をそれらの値に戻します。静的変数とインスタンス変数の値は復元されないことに注意してください。これにより、プログラムフロー全体が変更される可能性があります。

この例では、フレームをドロップすると、count () が実行されたことがないかのように count() の呼び出しに戻ります。ただし、プログラムを再開すると、ローカル変数 result および i の初期値が復元されます。

Dropping frame and resuming the program: the variables are reverted to their initial values
最終更新日: 2020年7月10日