Web/DB プログラミング徹底解説

ホーム > PHP プログラミング > Xdebug によるデバッグ機能拡張

Xdebug によるデバッグ機能拡張

Xdebug を利用すると PHP のデバッグ機能を拡張することができます。

デバッガ実行の仕組み

Xdebug はリモートデバッグを受け付けるサーバーとして動作します。

ポート番号やプロトコルは設定ファイル php.ini にて指定します。

プロトコルは、GDB と DBGP が利用できますが、Xdebug では通常 DBGP を利用します。 (DBGP の詳細については Xdebug の DBGP の解説ページをご覧ください) DBGP のスタンダードポートは 9000 番です。

Xdebug をプロトコル DBGP、ポート 9000 番で利用するには以下のように設定します。

xdebug.remote_enable  = 1
xdebug.remote_host    = "localhost"
xdebug.remote_port    = 9000
xdebug.remote_handler = "dbgp"

Eclipse PDT を利用する

リモートデバッガとして動作する Xdebug にデバッグコマンドを送るには、DBGP クライアントが必要になりますが、 ここでは Eclipse PDT を利用してデバッグを実施します。

Eclipse PDT ではデフォルトで Zend Debugger がデバッガとして選択されているので、 Xdebug を利用する場合は、Preference にて XDebug をデバッガとして選択しなおします。

同様に Debug Configurations というメニューから設定できます。

ここでは URL を正しく設定してください。

上の設定をしてデバッグを開始すると、次のように PHP Debug Perspective に切り替わり、 コードにステップインしたり、変数をウォッチしたりすることができます。

Eclipse PDT にて XDebug を利用して PHP をステップ実行しているところ

ちなみに、Perspective を切り替えるには Window メニューの Open Perspective から行います。

Eclipse PDT のパースペクティブの切り替え