中断されたプログラムを調べる
デバッガーセッションが 開始されると、 デバッグツールウィンドウが表示され、次のいずれかが発生するまでプログラムが正常に実行されます。
ブレークポイントがヒットしました
プログラムを手動で 一時停止して再開する
その後、プログラムは中断され、現在の状態を調べたり、実行を制御したり、実行時にさまざまなシナリオをテストしたりできます。
フレームを調べる
プログラムの状態は フレームで表されます。 プログラムが一時停止すると、現在のフレームスタックが デバッグ ツールウィンドウの フレーム タブに表示されます。

フレームはアクティブなメソッドまたは関数呼び出しに対応します。 呼び出されたメソッドまたは関数のローカル変数、その引数、式の評価を可能にするコードコンテキストを格納します。
methodが呼び出されるたびに、新しいフレームがスタックの一番上に追加されます。 methodの実行が完了すると、対応するフレームがスタックから削除されます(後入れ先出し方式)。
フレームを調べることで、特定のパラメーターがメソッドに渡された理由と、呼び出し時の呼び出し元の状態を理解できます。
スタックをクリップボードにコピー
現在のスレッドのコールスタックをコピーするには、 フレーム タブの任意の場所を右クリックして、 スタックをコピー を選択します。
変数の調査 / 更新
スレッドと変数 タブには、選択した フレーム / スレッド内の変数のリストが表示されます。 変数を調べると、プログラムが特定の方法で動作する理由を理解できます。

各変数の左側のアイコンは、その型を示しています。
ユーザー定義の 定数は、デフォルトで折りたたまれている別の 定数 ノードにグループ化されます。 一度展開または折りたたまれると、 定数 ノードはデバッグセッション全体でこの状態を保持します。 ユーザー定義の定数の数が多い場合、ステップのパフォーマンスが低下する可能性があることに注意してください。 必要に応じて、 デバッグツールウィンドウツールバーの をクリックして、デバッグセッション中にそのような定数の取得を無効にすることができます。 定数 ノードは非表示になります。
変数のコピー
変数を調べるときに、変数名または値をコピーして別の場所に貼り付けたり、別の変数と 比較したりする必要がある場合があります。
変数の名前をコピーするには、変数を右クリックして 名前のコピー を選択します。
変数が保持する値をコピーするには、変数を右クリックして 値のコピー Ctrl+C を選択します。
変数をクリップボードと比較する
変数値を他の値と比較するには、 値をクリップボードと比較 オプションを使用します。 これは、たとえば、変数に長い文字列が格納されていて、それを別の長い文字列と比較する必要がある場合に役立ちます。
たとえば、テキストファイルから比較するコンテンツをコピーします。
変数 タブで変数を右クリックし、 値をクリップボードと比較 を選択します。
開いた差分ビューアーで相違点を調べます。 差分ビューアー の詳細については、 ファイルとフォルダーの比較を参照してください。
専用の変数を表示するダイアログ
PhpStorm では、専用のダイアログで変数をインスペクションできます。 これは、変数(または参照が保持されているオブジェクト)を追跡し、同時にフレームとスレッド間を移動できるようにする必要がある場合に便利です。
変数またはウォッチを右クリックし、 インスペクション を選択します。

変数値を設定
プログラムが特定のデータに対してどのように動作するかをテストしたり、実行時にフローを変更したりする場合は、変数値を変更することでそれを実現できます。
変数を選択し、 F2 を押します。 または、コンテキストメニューから 値の設定 を選択します。
変数の値を入力し、 Enter を押します。

instance="rm"/>
ソースコードに移動する
変数 ペインから宣言に移動できます。
変数が宣言されているコードに移動するには、変数を右クリックして ソースに移動 F4 を選択します。
変数型のクラス宣言に移動するには、変数を右クリックして 型ソースに移動 Shift+F4 を選択します。
$my_car = new Car();があるとします。 変数 ペインで$my_carを選択した場合、 を選択すると$my_car = new Car();が表示され、 を選択するとclass Car()が表示されます。呼び出し要素からコールバック関数宣言に移動するには、 変数 ペインでこの要素の横にある 移動 をクリックします。

式の評価
IntelliJ IDEA を使用すると、デバッグセッション中に式を評価して、プログラムの状態に関する追加の詳細を取得したり、実行時にさまざまな実行シナリオをテストしたりできます。
この機能は、プログラムがブレークポイントに到達した後に中断された(一時停止されていない)場合にのみ機能します。
式内で呼び出されるメソッド内にブレークポイントがある場合、それらは無視されます。
エディターで簡単な式を評価する
式をすばやく評価するには、エディターで式をポイントします。 メソッド呼び出しはこの方法では評価できないことに注意してください。
評価する式をポイントします。 式の結果がツールチップに表示されます。

子要素を表示するには、
をクリックするか、 Ctrl+F1 を押します。

値のツールチップが邪魔になる場合は、遅延を増やすか、完全に無効にすることができます。 これを行うには、 設定 ダイアログ (Ctrl+Alt+S) で に移動し、好みに応じて 値ツールチップを表示 および 値ツールチップの遅延 オプションを設定します。
エディターで複雑な式を評価する
メソッド呼び出しを含むコード内の式を評価する場合、または評価する式の特定の部分を指定する場合は、 式のクイック評価 オプションを使用します。
式を選択して Ctrl+Alt+F8 を押すか、表示されるフローティングツールバーから 式の評価 を選択します。

あるいは、 に進みます。
式のクイック評価 を構成して、コードを選択するだけで(メニュー / ショートカットを使用せずに)コードで機能するようにできます。 このオプションを有効にすると、誤ってメソッドを呼び出す可能性があるため、慎重に使用してください。
コード選択時に式を評価する
に移動し、 コード選択時に値ツールチップを表示する オプションを設定します。
任意の式を評価する
任意の式を評価することは、最も柔軟な評価オプションです。 現在のフレームのコンテキスト内にある限り、任意のカスタムコードを評価できます。 これを使用すると、宣言、メソッド呼び出し、匿名クラス、ラムダ、ループなどを評価できます。
任意の式を評価するには、 変数 ペインの Evaluate expression フィールドに式を入力し、 Enter を押します

結果はすぐ下に表示されます。 式フィールドの右側にある
をクリックして、 式をウォッチに追加することもできます。

長いコードブロックを評価する場合は、専用のダイアログを使用することをお勧めします。
専用のダイアログで式を評価する
現在目の前にある式または変数 (たとえば、エディターまたは 変数 ペイン) から開始する場合は、それを選択します。

Alt+F8 に移動するか、コンテキストメニューから 式の評価 を選択します。 ショートカットは Ubuntu では機能しない可能性があります (正しく操作するには、 ショートカット設定を調整してください)。
「評価 」ダイアログで、選択した式を変更するか、「式 」フィールドに新しい式を入力します。 複数行のコードフラグメントを変更するには、「Expand Shift+Enter 」をクリックします。

評価 (複数行モードの場合は Ctrl+Enter )をクリックします。 式の結果が 結果 フィールドに表示されます。
式の結果は、return ステートメントから取得されます。 return ステートメントがない場合、結果はコードの最後の行から取得されます (式である必要すらありません。単一のリテラルでも機能します)。 値を取得する有効な行がない場合、結果は
undefinedになります。 指定された式を評価できない場合、 結果 フィールドに理由が表示されます。
評価 ダイアログは非モーダルなので、フォーカスをエディターに戻して他の変数や式をコピーすることができます。 また、複数の 評価 ダイアログを開くこともできます。
コンソールで変数を評価する
PHP および JavaScript のコンテキストでは、インタラクティブコンソールを使用して、デバッグセッション中に変数の値を表示できます。
変数 ペインで変数を選択し、選択のコンテキストメニューから コンソールで評価 を選択します。
コンソール ペインに切り替えると、
>に変数名が緑色で表示され、その下にその値が青色で表示されます。
コンソール入力を使用
トグルボタンをクリックし、 コンソール の
>にある変数の名前を入力し、 Enter を押してその値を表示します。コード補完 Ctrl+Space を使用できます: 変数名を入力すると、PhpStorm に候補リストが表示されます。
以前に評価された変数を評価するには、キーボードの Up と Down の矢印を使用してそれを見つけ、 Enter を押します。
コンソールでコードを実行する
PHP デバッグセッション中に、変数を評価するだけでなく、変数の値を変更したり、PHP 関数を呼び出したり、 コンソール ペインで追加の関数を定義したりすることもできます。 この機能は、 Behat 実行 / デバッグ構成では使用できないことに注意してください。
デバッグ ツールウィンドウの コンソール ペインで、ツールバーの コンソール入力を使用 トグルボタン
をクリックします。
このトグルボタンが押されたように見えると、変数を評価および変更し、PHP 関数を呼び出し、追加の関数を コンソール ペインでその場で定義できます。
トグルボタンが押されていないように見える場合、 コンソール ペインの入力は
STDINのように扱われます。
>でステートメントまたは式を入力し、 Enter を押します。 PhpStorm はコード箇所を評価し、入力コードの下に出力を表示します。 クラス宣言、関数宣言、変数、式など、ほとんどの PHP 構文を入力できます。 コード補完 Ctrl+Space を使用できます: 入力すると、PhpStorm に候補リストが表示されます。複数行のコードフラグメントを入力するときは、 Shift+Enter を押して改行し、 Ctrl+Enter を押して改行します。
配列とオブジェクトの出力は、デフォルトでは
var_export()関数でラップされ、 コンソール に表示されます。 表示されている出力を非表示にするには、 デバッグ ページの デバッグコンソールで配列とオブジェクトの子を表示する チェックボックスをオフにします。
インラインで値を表示
IntelliJ IDEA は、変数の使用箇所のすぐ隣に変数の値を表示します。
変数値が変更されると、インラインビューが新しい値で更新され、色が変更されます。

行にオブジェクトへの参照が含まれている場合は、エディターでそのプロパティを直接調べることができます。 このポップアップから、 変数値を変更したり、インラインウォッチを追加したりすることもできます。

インラインビューはデフォルトで有効になっています。 これをオフにするには、 設定 ダイアログ (Ctrl+Alt+S) で に移動し、 値をインラインで表示する オプションを無効にします。
インラインウォッチを追加する
ある式の結果を特定の行に表示したい場合は、そのためのインライン ウォッチを設定できます。 インラインウォッチは永続的であり、セッションの再開後もアクティブなままです。
プロパティを追跡するオブジェクトを参照するインラインヒントをクリックします。
ポップアップで、プロパティを選択し、 インラインウォッチとして追加 をクリックします。

必要に応じてウォッチを微調整します。 有効な式をウォッチとして使用できます。

エディターで設定したインラインウォッチは、 デバッグ ツールウィンドウの変数ペインの インラインウォッチ にも表示されます。
インラインウォッチを削除するには、ウォッチにカーソルを合わせ、近くの十字をクリックします。
JSON と XML を視覚化する
インライン値を展開したり、JSON または XML を含む 文字列式を評価したりすると、PhpStorm によってデータの構造化されフォーマットされたビューが提供されます。
これにより、 コードの折りたたみや 選択範囲の拡大または縮小などのエディター機能を使用して、サブツリーを操作したり、大きなオブジェクト内での便利なナビゲーションを行ったりすることができます。
プレビューポップアップのタブを使用して、構造化ビューと生のビューを切り替えます。

データフロー分析の予測を表示する
PhpStorm は、Xdebug セッションでのデータフロー分析支援デバッグをサポートします。 ブレーク ポイントでデバッガーから受け取った情報に基づいて、PhpStorm は、実行されたコードの条件チェックで何が起こるかについてのヒントを表示します。

実行中に到達できないと予測されるコードパス内のコードブロックはグレー表示されます。

インライン予測ヒントを無効にする
現在のデバッグセッションのみ: 任意のヒントを右クリックして、 データをオフにする Flow アシスト を選択します。

以降のすべてのデバッグセッションの場合: 設定 ダイアログ (Ctrl+Alt+S) で、 に移動し、 Xdebug 領域の プログラムのデータフローを解析して将来の条件値を予測する チェックボックスをオフにします。
到達できないコードのグレー表示を無効にする
設定 ダイアログ (Ctrl+Alt+S) で、 に移動し、 Xdebug 領域の 到達不能と予測されるコードブロックをグレー表示する チェックボックスをオフにします。
ウォッチ
変数またはより複雑な式の結果を追跡したい場合は、この変数または式の監視を設定します。 これは、変数のリストに定期的に表示されないものを評価する必要がある場合や、インスタンス変数を固定する必要がある場合に便利で、各 ステップの後にツリーを展開する必要がなくなります。
この機能は、プログラムがブレークポイントに到達した後に中断された(一時停止されていない)場合にのみ機能します。
ウォッチは、選択したフレームのコンテキストで評価されます。 ウォッチは、コンテキストから外れている場合、またはコンパイルに失敗した場合は評価できません。 この場合、ウォッチにはエラーアイコン のマークが付けられます。
デフォルトでは、監視は変数とともに 変数 ペインに表示されます。 ウォッチ ペインを表示 / 非表示にするには、 レイアウト設定 メニューの 別々のウォッチ オプションを使用します。
ウォッチを追加する
追跡したい表現に応じて、次のようになります。
エディター内の式の場合 – 式を選択し、表示されるフローティングツールバーの ウォッチに追加 アイコン(
)をクリックします。 または、式を 変数 タブにドラッグします。

現在のコンテキスト内の要素の場合 – 変数 タブで変数を右クリックし、メニューから ウォッチに追加 を選択します。
任意の式の場合 – 変数 タブの上部に式を入力し、 ウォッチに追加 をクリックします。

ウォッチを編集する
目的のウォッチを右クリックして、 Edit を選択します。
ウォッチをコピーする
コピーしたいウォッチを選択します。
変数/ウォッチ タブの ウォッチ式の複製
をクリックするか、 Ctrl+D を押します。
ウォッチの順序を変更する
便宜上、 変数/ウォッチ ペインに表示されるウォッチの順序を変更できます。
変数/ウォッチ ペインの ウォッチ式を上に移動/ウォッチ式を下に移動 ボタン、または Ctrl+Up および Ctrl+Down キーボードショートカットを使用します。
ウォッチを削除する
単一の監視を削除するには、それを右クリックして ウォッチ式の除去 を選択します。 または、ウォッチを選択し、 変数/ウォッチ ペインで Delete を押します。
すべての監視を削除するには、 変数/ウォッチ ペインの任意の場所を右クリックし、 すべてのウォッチ式を除去 を選択します。
ウォッチは、変数と同じアクションを可能にします。 たとえば、 専用のダイアログで表示したり、 ソースコードに移動したりできます。
ウォッチはプロジェクトの一部です。 これは、デバッグセッションを失うリスクなしに、デバッグセッションを停止して再実行できることを意味します。
視聴を一時停止して再開する
ウォッチがローカルコンテキストに依存していたり、大量の計算を伴う場合、一部のステップでは評価が現実的でないことがあります。 そのような場合は、ウォッチを一時停止して必要に応じて評価することができます。
ウォッチを一時停止するには、ウォッチを右クリックし、 ウォッチの一時停止 を選択します。

ウォッチを再開するには、ウォッチを右クリックし、 ウォッチの再開 を選択します。
一時停止中のウォッチの 1 回限りの評価を実行するには、ウォッチの近くにある 評価 をクリックします。

実行ポイント
現在の実行ポイントに戻る
プログラムの状態を調べるには、コード内を移動する必要があり、多くの場合、プログラムが中断されている場所に戻る必要があります。
以下のいずれか 1 つを実行します:
メインメニューで へ移動します。
Alt+F10 を押す。
デバッグ ツールウィンドウのステップツールバーで
をクリックし、開いたコンテキストメニューから
実行ポイントの表示 を選択します。
現在の実行ポイントは青い線で示されます。 この行のコードはまだ実行されていません。
