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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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