質問
xdebugを使用してphpプロジェクトのコードをデバッグして理解するようになりましたが、PHPの内部で何が起こっているのかわからない場合があります。
xdebugまたはgdbを設定して、実際のphp組み込み関数にトレースできるようにすることはできますか?
解決
macosx、solaris、または最近のfreebsdシステムを使用している場合、少しdtraceを投げることができます。非常に多くの「WTFがPHPを実行していますか?」瞬間。
他のヒント
疑わしいのは、xdebugは内部ではなくPHPコードをトレースすることを目的としていることです。内部にはバグがないと想定されています(明らかにそうではない場合もありますが、xdebugの範囲を超えています)。
組み込み関数が何をするのか知りたい場合は、いつでもPHPソースを見ることができますが、それはかなり難しい場合があります。 PHPのマニュアルドキュメントは、何をするのかを知りたいときにいつも十分に役立っています。
デバッグシンボルでコンパイルされたphpがあれば、gdbを使用してCレベルコードにトレースできます。まずはこちらをご覧ください:
Zendエンジンの出力をテストし、オペコードを覗く1つの方法として、 Derick RethanのVLD (Vulcan Logic Dissasembler):にもあるようですPECL 。 注:は* nixシステムでのみ機能します(要件についてはサイトをご覧ください)。
これらのオペコードをデバッグするいくつかの例は、 Sara Golemonのブログ、オペコードについてなどの記事>および方法長い文字列ですか?。
所属していません StackOverflow