OFF-SOFT.net

ウェブやソフトウェアに関するサポート&情報サイトです。サイト構築からソフトウェアの作成、利用まであなたの助けになるかも・・・・しれません。たぶん・・。

phpのデバッグ環境を整える(XDebug)

公開日| 2009年04月07日 | コメントはまだありません。
概要 :
php言語を使った開発を行う際に、Visual StudioのようなIDE環境を求められないことが多い。Eclipseなどの登場で、phpの環境は、当初に比べれば、随分、良くなってきた。 今回は、フリーのデバッグ環境として、Windowsで簡単にデバッグの情報量を増やせるXDebugについて、簡単な環境設定とデバッグ情報採取について解説してみる。
ダウンロード:http://www.xdebug.org/
STEP.1 環境を整える
環境を整える上で、既にWindows上でApache+phpでWEBの環境が整っているものとして話をすすめる。
  1. 現在のphpのバージョンを確認する
    1
    
    <?php phpinfo(); ?>
    上記のソースイメージをデバッグ環境(WEBサーバのルートディレクトリ)へコピーし、WEB経由でアクセスするとphpのバージョンが確認できる。


  2. phpのバージョンにあったXDebugを以下のURLからダウンロードする
    http://www.xdebug.org/download.php
    ※Windows binaries: 5.2 VC6 Non-thread-safe, 5.2 VC6, 5.3 VC6 Non-thread-safe, 5.3 VC6, 5.3 VC9 Non-thread-safe, 5.3 VC9
    などと記述のある中から、phpのバージョンが例えば5.2.xxだったとすれば、"5.2 VC6"をダウンロードすれば間違いないだろう。
    VC6/VC9は、Visual C++のバージョンで、実際にバイナリファイル(dll)を作成するのに用いたバージョン。
    VC6の環境は、XPで標準に入っているが、VC9は、自身でインストールしていなければ動作しないこともあるので注意。

  3. ダウンロードしたファイルをphp環境に設定する
    おそらくは、
    php_xdebug-xxxxxxx.dll
    のような名前のファイルをダウンロードしていることと思う。

    1. このファイルをphpの環境のextentionのディレクトリへコピーする
      例)  copy php_xdebug-xxxxxxx.dll c:\php\\ext\.
    2. php.iniを書き換える
      php.iniは、通常、phpにインストール直下にある。
      "extension=xxxxx.dll"などの記述の後に、以下の記述を追記し、保存する。
      例) zend_extension_ts="C:\PHP\ext\php_xdebug-xxxxxxx.dll"
      ※必ず、フルパスで指定する。
    3. Apacheをリスタートする
    4. STEP.1で使ったphpのバージョン確認のphpファイルをWEB経由でアクセスする

      このようにXDebugの表記があれば、正しくインストールされたことがわかる。
      もし、上記の表示が出力されない場合は、STEP.1からの手順に誤りがないか、再度、確認してみよう。

STEP.2 デバッグ情報を採取してみる
実際に、phpでワーニングメッセージやエラーメッセージが出力される場合、以下のようなメッセージに変わる。

コールスタックをきれいに表にまとめてくれる。

また、WEBのデバッグでやっかいなのが、内部でループしてブラウザ画面にデバッグ情報を出しにくい場合がある。
そんなとき、XDebugでは、以下のようなAPIを使って、簡単にデバッグ情報を吐き出すことができる。
1
2
3
4
$item  = $menu-->getItem($itemid);
 
xdebug_debug_zval('itemid');
xdebug_debug_zval('item');
xdebug_debug_zval:スタック情報をデバッグ情報へ変換するAPI
上記では、$itemidと$itemのワークエリアが何かを吐き出してくれる。

これを実行すると以下のような文字が出力され、デバッグを容易にしてくれる。
itemid:

(refcount=2, is_ref=0),string '65' (length=2)

item:

(refcount=1, is_ref=0),null
個人的には、ちょっとしたデバッグに、重宝している。特にオープンソースで、何か問題にぶつかったときに、ちょっとしたトレースするのには、十分な機能を持っていると思う。

ここで、紹介したのは、ほんのさわりだけの解説である。
もっと、詳しくしりたい方は、こちらのマニュアルを参照いただきたい。
http://www.xdebug.org/docs/


ブックマークへ追加: はてなブックマークへ追加するdel.icio.usLivedoor ClipYahoo!FC2Nifty ClipPOOKMARK. AirlinesBuzzurl(バザール)Choixnewsing

Trackback URL

このコメントは管理人から承認された後、表示されます。


コメント

コメントをどうぞ





*





タグクラウド

リンク

このサイトは?

ウェブやソフトウェアに関するサポート&情報サイトです。サイト構築からソフトウェアの作成、利用まであなたの助けになるかも・・・・しれません。たぶん・・。

ブックマークへ追加

はてなブックマークへ追加するdel.icio.usLivedoor ClipYahoo!FC2Nifty ClipPOOKMARK. AirlinesBuzzurl(バザール)Choixnewsing