メインコンテンツまでスキップ

Xdebug

Xdebug とは

Xdebug は、PHP プログラムのデバッグやプロファイリングに使用される強力なツールです。PHP の拡張モジュールとして提供されており、デバッグ時にさまざまな機能を提供します。
主な機能には以下があります。

  • ブレークポイント(Breakpoints):特定の行や関数にブレークポイントを設定し、プログラムの実行を停止できます。ブレークポイントの設定により、特定の箇所でプログラムの状態を詳細に調査できます。

  • ステップ実行(Step Debugging):プログラムを逐次実行し、行ごとに停止できます。これにより、プログラムの実行中に変数の値やステートを確認できます。

  • 変数の監視(Variable Monitoring):実行中のプログラムの変数の値をリアルタイムに監視できます。変数の内容や型情報を確認し、デバッグ中に問題を特定するのに役立ちます。

  • スタックトレースの表示(Stack Tracing):プログラムの実行時に発生する関数の呼び出し履歴を表示できます。これにより、プログラムがどのように実行されているのかを把握できます。

Xdebug は、開発者が PHP アプリケーションのデバッグとトラブルシューティングを容易に行えるようにする強力なツールです。デバッグ情報の提供やプロファイリングにより、アプリケーションのパフォーマンス改善や品質管理にも役立ちます。

ブレークポイント(Breakpoints)

ブレークポイント(Breakpoints)

ステップ実行(Step Debugging)

ステップ実行(Step Debugging)

変数の監視(Variable Monitoring)

変数の監視(Variable Monitoring)

Xdebug 構築手順

Installation

下記コマンドで Xdebug をインストール

pecl install xdebug

または、下記公式サイトよりファイルをダウンロードして配置
link: https://xdebug.org/

ヒント

ダウンロードする Xdebug のバージョンに関しては PHP のバージョンに依存するため下記ページにて phpinfo()で出力される情報をペーストし適切なファイルのダウンロードを行うこと
link: https://xdebug.org/wizard

php.ini に設定を追加

php.ini に Xdebug 用の設定を追加

php.ini
[XDebug]
zend_extension=xdebug
xdebug.mode=debug
xdebug.discover_client_host=1
xdebug.client_host=localhost
xdebug.client_port=9003
xdebug.start_with_request=yes
ヒント

php.ini に追加する設定は環境や要件に応じて異なる場合がありますので、適宜適切な値や設定に置き換えてください。

サーバーの再起動

変更を反映するために、ウェブサーバー(Apache、Nginx など)を再起動します。
再起動後、Xdebug が反映されているか確認をします。

サーバーの再起動

VS Code の拡張機能のインストール

VS Code を開き、"PHP Debug"という名前の公式拡張機能を検索してインストールします。これは Xdebug を VS Code で使用するためのデバッグ機能を提供します。

VS Codeの拡張機能のインストール

デバッグ構成の設定

  1. VS Code の左側にあるアクティビティバーで、デバッグアイコン(虫のアイコン)をクリックし、デバッグビューを開きます。

  2. デバッグビューの上部にある歯車アイコン(構成の追加または編集)をクリックします。もしくは、".vscode"ディレクトリ内に"launch.json"ファイルを作成します。 "PHP"を選択し、デバッグ構成を追加します。

launch.json
{
"name": "Xdebug",
"type": "php",
"request": "launch",
"port": 9003,
"pathMappings": {
"/path/to/source": "${workspaceFolder}"
}
}
ヒント

必要に応じて"pathMappings"セクションを編集して、デバッグする PHP ソースコードのパスと VS Code 内のプロジェクトのパスを関連付けます。

  1. ブレークポイントの設定
    デバッグしたい PHP ソースコードの行にブレークポイントを設定します。
    ブレークポイントは、コードの実行を一時停止してデバッグ情報を確認するためのポイントです。

  2. デバッグセッションの開始
    デバッグセッションを開始するために、デバッグビューの上部にある再生ボタン(実行を開始)をクリックします。
    Xdebug が有効になり、ブレークポイントに到達すると、コードの実行が停止し、デバッグビューで変数の値やステップ実行などのデバッグ操作を行うことができます。