3

しばらくの間、xdebug を使用して PHP プロジェクトのコードをデバッグおよび理解してきましたが、PHP の内部で何が起こっているのかが不明な状況に陥ることがあります。

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

4

5 に答える 5

2

macosx、solaris、または最近の freebsd システムを使用している場合は、少し dtrace を投げることができます。あまりにも多くの「PHP は何をしているのか?」という人にとっては便利です。瞬間。

于 2009-05-02T00:48:07.040 に答える
1

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

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

于 2009-05-02T00:19:19.543 に答える
1

Zend エンジンの出力をテストする 1 つの方法として、オペコードの内部をのぞき見するために、Derick Rethan の VLD (Vulcan Logic Dissasembler)を使用できます。これもPECLにあるようです。注: *nix システムでのみ動作します (要件についてはサイトを参照してください)。

これらのオペコードのデバッグの例は、Sara Golemon のブログ の「オペコードについて」「文字列はどのくらいの長さですか? 」などの記事で見つけることができます。.

于 2009-05-03T11:58:14.377 に答える
1

次のことを可能にするphpライブラリを備えた優れたGoogle Chrome拡張PHPコンソールもあります。

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

みんなにお勧め!

于 2013-11-30T12:33:22.673 に答える
1

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

http://derickrethans.nl/phps_segmentation_faults_gdbfu.php

于 2009-05-02T09:38:55.343 に答える