質問

xdebugを使用してphpプロジェクトのコードをデバッグして理解するようになりましたが、PHPの内部で何が起こっているのかわからない場合があります。

xdebugまたはgdbを設定して、実際のphp組み込み関数にトレースできるようにすることはできますか?

役に立ちましたか?

解決

macosx、solaris、または最近のfreebsdシステムを使用している場合、少しdtraceを投げることができます。非常に多くの「WTFがPHPを実行していますか?」瞬間。

他のヒント

疑わしいのは、xdebugは内部ではなくPHPコードをトレースすることを目的としていることです。内部にはバグがないと想定されています(明らかにそうではない場合もありますが、xdebugの範囲を超えています)。

組み込み関数が何をするのか知りたい場合は、いつでもPHPソースを見ることができますが、それはかなり難しい場合があります。 PHPのマニュアルドキュメントは、何をするのかを知りたいときにいつも十分に役立っています。

デバッグシンボルでコンパイルされたphpがあれば、gdbを使用してCレベルコードにトレースできます。まずはこちらをご覧ください:

http://derickrethans.nl/phps_segmentation_faults_gdbfu.php

Zendエンジンの出力をテストし、オペコードを覗く1つの方法として、 Derick RethanのVLD (Vulcan Logic Dissasembler)にもあるようですPECL 注:は* nixシステムでのみ機能します(要件についてはサイトをご覧ください)。

これらのオペコードをデバッグするいくつかの例は、 Sara Golemonのブログオペコードについてなどの記事>および方法長い文字列ですか?

優れたGoogle Chrome拡張機能もあります PHPコンソール phpライブラリにより、次のことが可能になります。

  • エラーを確認& Chrome JavaScriptコンソールの例外&通知ポップアップで。
  • 任意の型変数をダンプします。
  • PHPコードをリモートで実行します。
  • パスワードでアクセスを保護します。
  • リクエストごとにコンソールログをグループ化します。
  • テキストエディタでエラーファイル:lineにジャンプします。
  • エラー/デバッグデータをクリップボードにコピーします(テスター向け)。

全員に推奨!

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top