しばらくの間、xdebug を使用して PHP プロジェクトのコードをデバッグおよび理解してきましたが、PHP の内部で何が起こっているのかが不明な状況に陥ることがあります。
実際のphp組み込み関数をトレースできるように、xdebugまたはgdbを設定することはできますか?
macosx、solaris、または最近の freebsd システムを使用している場合は、少し dtrace を投げることができます。あまりにも多くの「PHP は何をしているのか?」という人にとっては便利です。瞬間。
xdebugは、内部ではなく、PHPコードをトレースすることを目的としています。内部にはバグがないと想定されています(明らかにバグがない場合もありますが、xdebugの範囲を超えています)。
組み込み関数が何をするのかを知りたい場合は、いつでもPHPソースを見ることができますが、それはかなり厄介な場合があります。PHPのマニュアルドキュメントは、それらが何をするのかを知りたいときに、常に十分に役立ちました。
Zend エンジンの出力をテストする 1 つの方法として、オペコードの内部をのぞき見するために、Derick Rethan の VLD (Vulcan Logic Dissasembler)を使用できます。これもPECLにあるようです。注: *nix システムでのみ動作します (要件についてはサイトを参照してください)。
これらのオペコードのデバッグの例は、Sara Golemon のブログ の「オペコードについて」や「文字列はどのくらいの長さですか? 」などの記事で見つけることができます。.
次のことを可能にするphpライブラリを備えた優れたGoogle Chrome拡張PHPコンソールもあります。
みんなにお勧め!
デバッグ シンボルを使用してコンパイルされた php があれば、gdb を使用して C レベル コードをトレースできます。まずはこちらをご覧ください: