導入
導入 –
PHP_FunctionCallTracer は関数コールのデバッグトレースを作成します
概要
関数の引数や返り値、そしてウォッチしている変数の内容が
各関数コールごとにまとめて出力されます。
配列形式でトレースすることもできますし、
画面に出力したりファイルに書き出したりすることもできます。
トレースする変数の処理は、表示用のユーザ関数で行います。
このパッケージは、完全な機能を持った PHP デバッガに取ってかわるものではありません。
(1) リモートデバッグ、(2) 複雑な流れの関数コールのデバッグ、
(3) テキスト以外の変数の可読形式での出力
などで便利です。
-
時には、リモートデバッグ以外の選択肢がないこともあります。
たとえば、32 ビット OS が載っているあなたのシステムでは正しく動くけれども
64 ビット OS が載っている別のシステムでは動作しない。
しかもそのシステムにあなたはアクセスできないといった場合です。
この場合、64 ビット OS を使っているユーザにこのパッケージを実行してもらい、
トレース結果を送ってもらってそれを調べることになります。
-
デバッグセッションで関数コールを追いかけるのは、
一流の PHP エディタ/デバッガであってもなかなか難しいものです。
このパッケージが作成するトレースはよくできた形式であり、
ソースコードと組み合わせて関数コールや変数の追跡が簡単に行えます。
-
変数の形式によっては、うまく表示できないこともあります。
たとばパックされたデータや UTF-8 文字列などです。
トレース時にこれらを可読形式にするには、ユーザ関数を使用します。
たとえば、バイナリを 16 進文字列形式に変換したり
UTF-8 文字列を Unicode に変換したりする関数を用意します。