プログラムのステップスルー
ステップは、プログラムの段階的な実行を制御するプロセスです。
デバッグセッションを 開始し、 プログラムを一時停止すると、PhpStorm は一連のステップ実行中アクションを提供します。 ステップアクションの選択は、次の行に直接移動する必要があるか、中間のメソッド呼び出しも インスペクションする必要があるかなど、戦略によって異なります。
ステップボタンは、 デバッグ ツールウィンドウの ツールバーにあります。

ステップオーバー
現在のコード行をステップオーバーし、ハイライトされた行にメソッド呼び出しが含まれている場合でも、次の行に移動します。 メソッドの実装はスキップされ、呼び出し元メソッドの次の行に直接移動します。
ステップオーバー ボタン
をクリックするか、 F8 を押します。
スキップされたメソッド内にブレークポイントがある場合、デバッガーはそれらで停止します。 途中でブレークポイントをスキップするには、 強制ステップオーバーを使用します。
ステップイン
メソッドに入り、その内部で何が起こるかを表示します。 メソッドが正しい結果を返しているかどうかわからない場合は、このオプションを使用します。
ステップイン ボタン
をクリックするか、 F7 を押します。
その行に複数のメソッド呼び出しがある場合、PhpStorm はどのメソッドに入るか尋ねます。 この機能は スマートステップインと呼ばれます。
スマートステップイン は、回線上に複数のメソッド呼び出しがあるたびに自動的に使用されるように構成できます。 または、 明示的に呼び出した場合にのみ呼び出すことができます。
一部のスクリプト、メソッド、関数は、通常はデバッグする必要がない場合があるため、 ステップイン によってスキップされます。
設定 ダイアログ(Ctrl+Alt+S )で に移動します。 デバッガー。 ステップ ページが開きます。
すべてのライブラリスクリプトをスキップするには、 ライブラリスクリプトにステップインしない チェックボックスを選択します。
特定のスクリプトへのステップ実行を抑止するには、 スクリプトにステップインしない チェックボックスを選択し、ツールバーのボタンを使用してスクリプトのリストを作成します。
一部の PHP メソッドをスキップする
設定 ダイアログ(Ctrl+Alt+S )で に移動します。 ステップフィルター ページが開きます。
関連する マジックメソッドおよび コンストラクターメソッドタイプの横にあるチェックボックスを選択します。
必要に応じて、
ツールバーボタンを使用して、 スキップされるメソッド リストに特定のメソッドを手動で追加します。
スマートステップイン
スマートステップインは、1 行に複数のメソッド呼び出しがあり、どのメソッドに入るかについて具体的に知りたい場合に役立ちます。 この機能により、目的のメソッド呼び出しを選択できます。
メニューから スマートステップイン を選択するか、 Shift+F7 を押します。
メソッドをクリックします。 または、矢印キーまたは Tab キーを使用してメソッドを選択し、 Enter または F7 を押して選択を確定します。

ステップアウト
現在のメソッドからステップアウトし、呼び出し元のメソッドに移動します。
ステップアウト ボタン
をクリックするか、 Shift+F8 を押します。
カーソル位置まで実行
キャレットの位置に達するまで実行を継続します。
プログラムを一時停止する行にキャレットを置きます。
メニューから カーソル位置まで実行 を選択するか、 Alt+F9 を押します。
また、線の上にマウスを移動して カーソル位置まで実行 アイコンをクリックすると、 カーソル位置まで実行 を実行できます。

カーソル位置まで実行 が の行番号をクリックする際に動作するかどうかを構成できます。
途中でブレークポイントをスキップするには、 強制カーソル位置まで実行を使用します。
強制ステップイン
このメソッドが通常の ステップイン によって スキップされた場合でも、メソッドのステップ。
に移動するか、 Alt+Shift+F7 を押します。
カーソル位置まで強制実行
実行を続行してキャレットの位置に到達します。 途中のブレークポイントはすべて無視されます。
プログラムを一時停止する行にキャレットを置きます。
メニューから カーソル位置まで強制実行 を選択するか、 Ctrl+Alt+F9 を押します。
強制ステップオーバー
ステップオーバーは現在のコード行を越えて、たとえその行にメソッド呼び出しがあっても次の行へ進みます。 呼び出されたメソッドにブレークポイントがある場合は無視されます。
メニューから 強制ステップオーバー を選択するか、 Alt+Shift+F8 を押します。
セッションの切断
デバッガーを停止しますが、デバッガーを接続せずにスクリプトを実行したままにします。 このアクションは、Xdebug バージョン 3.0 以降で使用できます。
に進みます。
または、デバッグウィンドウのツールバーで
をクリックし、
セッションの切断 を選択します。
ステップ速度を改善する
デバッガー機能はリソースを消費し、ステップのパフォーマンスに影響を与える可能性があります。 パフォーマンスが十分でない場合は、この章に記載されている推奨事項に従って最適化してください。
次の機能がプロジェクトに必要ない場合は、使用を無効化または最小化してください:
ユーザー定義の定数の数が多い場合、ステップのパフォーマンスが低下する可能性があります。 このような定数のフェッチを無効化し、 デバッグツールウィンドウ ツールバーで
をクリックすることで、ステップ実行中のパフォーマンスを向上させることができます。 定数 ノードは非表示になります。
ブレークポイントとウォッチポイントの条件、特に頻繁にヒットするものを単純化します。
デバッグセッション中に、より少ない要素でビューに切り替えます。
ブレークポイントに到達するか、プログラムが 中断されると、 デバッグツールウィンドウがアクティブになり、プログラムの実行を制御できるようになります。 このために、 実行 メニューコマンド、または デバッグ ツールウィンドウの ステップツールバーのアイコンを使用できます。
各ステップアクションは、選択したアクションに応じて、 実行ポイントを次の実行場所に進めます。
足踏みを抑える
プログラムをステップ実行している間にデバッガーがスキップするスクリプト、メソッド、関数のリストを作成できます。
設定 ダイアログ(Ctrl+Alt+S )で、 ビルド、実行、デプロイ の デバッガー をクリックしてから、 ステップ をクリックします。 デバッガー。 ステップ ページが開きます。
すべてのライブラリスクリプトをスキップするには、 ライブラリスクリプトにステップインしない チェックボックスを選択します。
特定のスクリプトへのステップ実行を抑止するには、 スクリプトにステップインしない チェックボックスを選択し、ツールバーのボタンを使用してスクリプトのリストを作成します。
一部の PHP メソッドをスキップする
設定 ダイアログ (Ctrl+Alt+S) で、 に移動し、 デバッグ の ステップフィルター をクリックします。 ステップフィルター ページが開きます。
関連するメソッドタイプ(マジックメソッドおよび コンストラクター )の横にあるチェックボックスを選択します。
必要に応じて、
ツールバーボタンを使用して、特定のメソッドを スキップされるメソッド リストに追加します。
ヒントとトリック
強制ステップインコマンド
を使用すると、ステップインされないクラスのメソッドにステップインできます。
ステップインが抑制されているクラスは、 デバッガー。 ステップ ページの 設定ダイアログで指定されます。
強制ステップオーバーコマンド
を使用すると、途中でブレークポイントを無視してメソッド呼び出しを移動することができます。
カーソル位置まで強制実行コマンド
を使用すると、途中の既存のブレークポイントを無視してキャレットの位置に移動できます。