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

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

各変数の左側のアイコンは、その型を示しています。
ユーザー定義の定数は、デフォルトで折りたたまれている別の定数ノードにグループ化されます。一度展開または折りたたまれると、定数ノードはデバッグセッション全体でこの状態を保持します。ユーザー定義の定数の数が多い場合、ステップのパフォーマンスが低下する可能性があることに注意してください。必要に応じて、デバッグツールウィンドウツールバーの をクリックして、デバッグセッション中にそのような定数の取得を無効にすることができます。定数ノードは非表示になります。
変数のコピー
変数を調べるとき、変数名または値をコピーして、別の場所に貼り付けたり、別の変数と比較したりする必要がある場合があります。
変数が保持する値をコピーするには、変数を右クリックして値をコピー Ctrl+C を選択します。
変数の名前をコピーするには、変数を右クリックして名前をコピーを選択します。
変数をクリップボードと比較する
変数値を他の値と比較する必要がある場合は、クリップボードと値を比較オプションを使用します。これは、たとえば変数が長い文字列を保持していて、別の長い文字列と比較する必要がある場合に役立ちます。
比較するコンテンツをコピーします(たとえば、テキストファイルから)。
変数タブで、比較する変数を右クリックし、クリップボードと値を比較を選択します。
開く差分ビューアーの違いを調べます。差分ビューアーを効率的に使用する方法の詳細については、ファイルとフォルダーの比較トピックを参照してください。
専用の変数を表示するダイアログ
PhpStorm では、専用のダイアログで変数をインスペクションできます。これは、変数(または参照が保持されているオブジェクト)を追跡し、同時にフレームとスレッド間をナビゲートできるようにする必要がある場合に便利です。
変数タブで変数を右クリックし、インスペクションを選択します。
変数を配列として表示
デバッグツールウィンドウの変数タブで、配列またはデータフレームを選択します。
右側のリンク配列として表示 / データフレームとして表示をクリックします。
あるいは、コンテキストメニューから配列として表示またはデータフレームとして表示を選択することもできます。
データビューツールウィンドウが表示されます。
変数値を設定
特定の条件でプログラムがどのように動作するかをテストする必要がある場合、または実行時の現在の動作を修正する必要がある場合は、変数値を設定 / 変更することでそれを実行できます。
変数タブで変数を右クリックして値の設定を選択するか、変数を選択して F2 を押します。
変数の値を入力し、Enter を押します。
ソースコードに移動する
変数またはクラスが宣言されているソースコードを調べる必要がある場合は、変数タブから直接そこに移動できます。
変数が宣言されているコードに移動するには、変数を右クリックしてソースに移動 F4 を選択します。
変数型のクラス宣言にナビゲートするには、変数を右クリックして型ソースに移動 Shift+F4 を選択します。
$my_car = new Car();
があるとします。変数ペインで$my_car
を選択した場合、 を選択すると$my_car = new Car();
が表示され、 を選択するとclass Car()
が表示されます。
式の評価
PhpStorm を使用すると、デバッグセッション中に式を評価して、プログラムの状態に関する追加の詳細を取得したり、実行時にさまざまなシナリオをテストしたりできます。
エディターで簡単な式を評価する
式を評価する最も簡単な方法は、コード内で式を指すことです。これは最も簡単な方法ですが、メソッド呼び出しの評価には使用できません。これらは副作用を引き起こす可能性があるため、安全のために行われます。
このオプションは、エディターから式をすばやく評価する必要がある場合に使用します。
評価する式をポイントします。式の結果がツールチップに表示されます。
子要素を表示する必要がある場合は、
をクリックするか、Ctrl+F1 を押します。
価値のあるツールチップが邪魔になる場合は、遅延を増やすか、完全に無効にすることができます。これを行うには、設定 / 環境設定ダイアログ Ctrl+Alt+S で に移動し、必要に応じて値ツールチップを表示および値ツールチップの遅延オプションを設定します。
エディターで複雑な式を評価する
メソッド呼び出しを伴うコード内の式を評価したい場合、または式のどの部分を評価するかについて特定したい場合は、式のクイック評価オプションを使用します。
このオプションは、プログラムがブレークポイントに達した後に中断された場合にのみ使用可能です(手動で一時停止されません)。
式にキャレットを配置する(最も近い一致式を評価する)か、その一部を選択します(複雑な式のどの部分を評価するかを特定したい場合)。
Ctrl+Alt+F8 をクリックします。
クイック評価を構成して、コードを選択するだけで(メニュー / ショートカットを使用せずに)コードで機能するようにできます。このオプションを有効にすると、誤ってメソッドを呼び出す可能性があるため、慎重に使用してください。
コード選択でクイック評価を構成するには、 に移動し、コード選択時に値ツールチップを表示するオプションを優先として設定します。
任意の式を評価する
任意の式の評価は、最も柔軟な評価オプションです。現在のフレームのコンテキスト内にある限り、任意のコードを評価できます。これを使用して、宣言、メソッド呼び出し、ループ、匿名クラス、ラムダなどを評価できます。
この機能を使用して、プログラムの現在の状態に関する追加情報を取得し、すべて同じデバッグセッション内でさまざまなシナリオをテストします。これにより、実行する必要のあるセッションの数が減るため、時間を大幅に節約できます。
このオプションは、プログラムがブレークポイントに達した後に中断された場合にのみ使用可能です(手動で一時停止されません)。
現在、あなたの前にある式または変数(たとえば、エディターまたは変数タブ)で開始したい場合は、それを選択します。
- Alt+F8 をクリックします。ショートカットは Ubuntu では機能しない可能性があります(正しく動作させるには、
評価ダイアログで、選択した式を変更するか、式フィールドに新しい式を入力します。コードフラグメントを評価する場合は、展開 Shift+Enter をクリックします。
評価(複数行モードの場合は Ctrl+Enter )をクリックします。式の結果が結果フィールドに表示されます。
式の結果は、return ステートメントから取得されます。return ステートメントがない場合、結果はコードの最後の行から取得されます(式である必要はありません。リテラルも機能します)。値を取得する有効な行がない場合、結果は
undefined
です。指定された式を評価できない場合、結果フィールドに理由が示されます。
評価ダイアログは非モーダルなので、フォーカスをエディターに切り替えて他の変数と式をコピーできます。必要に応じて、複数の評価ダイアログを開くこともできます。
コンソールで変数を評価する
PHP および JavaScript のコンテキストでは、インタラクティブコンソールを使用して、デバッグセッション中に変数の値を表示できます。
変数ペインで変数を選択し、選択のコンテキストメニューからコンソールで評価を選択します。
コンソールペインに切り替えると、
>
に変数名が緑色で表示され、そにその値が青色で表示されます。コンソール入力を使用
トグルボタンをクリックし、コンソールの
>
にある変数の名前を入力し、Enter を押してその値を表示します。コード補完 Ctrl+Space が使用可能です。変数の名前を入力すると、PhpStorm が候補リストを表示します。
以前に評価された変数を評価するには、キーボードのアップとダウンの矢印を使用してそれを見つけ、Enter を押します。
コンソールでコードを実行する
PHP デバッグセッションでは、変数を評価するだけでなく、値を変更したり、PHP 関数を呼び出したり、コンソールペインで追加の変数を定義することもできます。この機能は、PHPUnit または Behat の実行 / デバッグ構成では使用できません。
デバッグツールウィンドウのコンソールペインで、ツールバーのコンソール入力を使用トグルボタン
をクリックします。
このトグルボタンが押されたように見えると、変数を評価および変更し、PHP 関数を呼び出し、追加の関数をコンソールペインでその場で定義できます。
トグルボタンが押されていないように見える場合、コンソールペインの入力は
STDIN
のように扱われます。
>
にステートメントまたは式を入力し、Enter を押します。PhpStorm はコードフラグメントを評価し、入力コードに出力を表示します。クラス宣言、関数宣言、変数、式など、ほとんどの PHP 構成要素を入力できます。コード補完 Ctrl+Space が利用可能です。入力すると、PhpStorm が候補リストを表示します。複数行のコードフラグメントを入力するときは、Shift+Enter を押して改行し、Ctrl+Enter を押して改行します。
配列とオブジェクトの出力は、デフォルトでは
var_export()
関数でラップされ、コンソールに表示されます。表示されている出力を非表示にするには、デバッグページのデバッグコンソールで配列とオブジェクトの子を表示するチェックボックスをオフにします。
インラインで値を表示
PhpStorm は、変数の使用箇所のすぐ隣に変数の値を表示することにより、デバッグプロセスを容易にします。
変数値が変更されると、インラインビューが新しい値で更新され、色が変更されます。

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

インライン値ビューはデフォルトで有効になっています。オフにするには、設定 / 環境設定ダイアログ Ctrl+Alt+S で に移動し、値をインラインで表示するオプションを無効にします。
インラインウォッチを追加する
ある式の結果を特定の行に表示したい場合は、そのためのインラインウォッチを設定できます。インラインウォッチは永続的であり、セッションの再開後もアクティブなままです。
プロパティを追跡するオブジェクトを参照するインラインヒントをクリックします。
ポップアップで、プロパティを選択し、インラインウォッチとして追加をクリックします。
必要に応じて監視を微調整します。有効な式をウォッチとして使用できます。
エディターで設定したインラインウォッチは、デバッグツールウィンドウの変数ペインのインラインウォッチにも表示されます。
インライン監視を削除するには、監視にカーソルを合わせ、近くの十字をクリックします。
ウォッチ式
変数またはより複雑な式の結果を追跡する場合は、この変数または式の監視を設定します。これは、変数のリストに定期的に表示されないものを追加したり、インスタンス変数を固定したりする必要がある場合に役立ちます。各ステップの後にツリーを展開する必要がなくなります。
このオプションは、プログラムがブレークポイントに達した後に中断された場合にのみ使用可能です(手動で一時停止されません)。
ウォッチは、選択したフレームのコンテキストで評価されます。ウォッチは、コンテキストから外れている場合、またはコンパイルに失敗した場合は評価できません。この場合、監視にはエラーアイコン のマークが付けられます。
デフォルトでは、ウォッチ式タブは非表示になっており、ウォッチは変数タブに表示されます。ウォッチ式タブを非表示 / 表示するには、変数またはウォッチ式タブのウォッチ式を変数タブに表示ボタン を使用します。
監視を追加する
ウォッチ式タブで新規ウォッチ式
をクリックします。
評価する変数または式を入力します。式では、ローカルコンテキスト内にある限り、メソッド呼び出し、ラムダ、変数の宣言などを評価できます。
ウォッチ式に変数 / 式を追加した後、変数 / 式はそこに残り、各ステップで評価され、現在のコンテキストで結果を提供します。
ウォッチを編集する
目的の監視を右クリックして、編集を選択します。
監視をコピーする
コピーする監視を選択します。
変数 / ウォッチ式タブのウォッチ式の複製
をクリックするか、Ctrl+D を押します。
監視の順序を変更する
便宜上、監視が変数 / ウォッチ式タブに表示される順序を変更できます。
変数 / ウォッチ式タブまたは Ctrl+Up および Ctrl+Down キーボードショートカットのウォッチ式を上に移動 / ウォッチ式を下に移動ボタンを使用します。
監視を削除する
単一の監視を削除するには、監視を右クリックして、変数 / ウォッチ式タブでウォッチ式の除去 Delete を選択します。
すべてのウォッチを削除するには、変数 / ウォッチ式タブの任意の場所を右クリックして、すべてのウォッチ式を除去を選択します。
ウォッチは、変数と同じアクションを可能にします。例: 専用のダイアログボックスで表示するか、ソースコードに移動するために使用できます。
ウォッチはプロジェクトの一部です。これは、デバッグセッションを失うリスクなしに、デバッグセッションを停止して再実行できることを意味します。
現在の実行ポイントに戻る
プログラムの状態を調べるには、コード内を移動する必要があり、多くの場合、プログラムが中断されている場所に戻る必要があります。
以下のいずれか 1 つを実行します:
メインメニューから
を選択します。Alt+F10 を押します。
デバッグツールウィンドウのステップツールバーで
をクリックします。
現在の実行ポイントは青い線で示されます。この行のコードはまだ実行されていません。

関連ページ:

PHP デバッグセッション
デバッグを開始する前に、デバッグエンジンが正しくインストールされ、正しく構成されていることを確認してください。PhpStorm は、2 つの最も一般的なツール、Xdebug と Zend デバッガーでデバッグをサポートしています。これらのツールは、互いにブロックするため同時に使用することはできません。この問題を回避するには、Xdebug を構成するおよび Zend デバッガーの構成の説明に従って、php.ini ファイルの対応するセクションを更新する必要があります。PhpStorm を使用すると、実行...

ブレークポイント
ブレークポイントは、特定のポイントでプログラムの実行を一時停止する特別なマーカーです。これにより、プログラムの状態と動作を調べることができます。ブレークポイントは、単純な場合(たとえば、コード行に到達したときにプログラムを一時停止する場合)や、より複雑なロジック(追加の条件に対するチェック、ログメッセージの書き込みなど)を伴う場合があります。一度設定すると、ブレークポイントは、一時的なブレークポイントを除いて、明示的に削除するまでプロジェクトに残ります)。ブレークポイントを持つファイルが外部で変...

ファイル、フォルダー、テキストソースを比較する
PhpStorm を使用すると、ファイル、フォルダー、テキストソース、またはデータベースオブジェクト間の違い、およびローカルファイルとそれらのリポジトリバージョン間の違いを確認できます。ファイルの比較:PhpStorm はファイルの差分ビューアーに差分を表示します: 変更を適用するには、シェブロンボタンおよびを使用します。変更を追加するには、を押します。ボタンはに変わります。

キーボードショートカットを設定する
PhpStorm 標準のキーボードショートカット PDF は、公式ショートカット一覧 PDF 日本語版から入手できます。ローカルに保存しておいて活用しましょう。PhpStorm には定義済みのキーマップがいくつか含まれており、頻繁に使用するショートカットをカスタマイズできます。キーマップ構成を表示するには、設定 / 環境設定ダイアログを開き、キーマップを選択します。PhpStorm は、環境に基づいて事前定義されたキーマップを自動的に提案します。使用している OS と一致することを確認するか、...

デバッグ
このページは、PHP プラグインが有効になっている場合にのみ使用できます。PHP プラグインは PhpStorm にバンドルされており、デフォルトでアクティブになっています。プラグインが無効になっている場合は、プラグインの管理に従って、設定 / 環境設定 | プラグインページでプラグインを有効にします。このページを使用して、Xdebug と Zend デバッガーの動作を設定します。事前構成この領域には、デバッガーのインストール、デバッガーのクッキーを制御してデバッグセッションを開始 / 停止するを実...