ホームページ > バックエンド開発 > PHPチュートリアル > [php] phpdbg を使用して php プログラムをデバッグする、phpdbg で php プログラムをデバッグする_PHP チュートリアル

[php] phpdbg を使用して php プログラムをデバッグする、phpdbg で php プログラムをデバッグする_PHP チュートリアル

WBOY
リリース: 2016-07-12 09:03:49
オリジナル
2121 人が閲覧しました

【php】phpdbgを使用してphpプログラムをデバッグします、phpdbgはphpプログラムをデバッグします

PHPDBGは、コードを変更せず、パフォーマンスに影響を与えることなく、PHP実行環境を制御できるPHP SAPIモジュールです

PHP5.4以降で利用可能です。 PHP5.6 以降で内部的に統合される予定です

特徴

  • シングルステップデバッグ
  • 柔軟なブレークポイントメソッド (クラスメソッド、関数、ファイル: 行、メモリアドレス、オペコード)
  • PHPのevalを直接呼び出すことができます
  • 現在実行されているコードを表示できます
  • ユーザー空間API(ユーザーランド/ユーザー空間)
  • 統合が簡単
  • PHP設定ファイルの指定をサポート
  • JIT グローバル変数
  • readlineサポート(オプション)、端末操作がより便利になります
  • Java GUIを使用したリモートデバッグ
  • 操作は簡単(詳細はヘルプを参照)

インストール

56ペソの場合

リーリー

PHP56 の場合は、phpdbg を有効にするだけです

注: phpdbg の --with-readline は、履歴、オートコンプリート、タブリストなどをサポートするために PHP 設定で有効にすることができます

バージョン番号を表示

リーリー

ヘルプを見る

リーリー

これらのヘルプドキュメントで十分です

なぜサンプルコードtestbとtestaの出力はこのようになるのでしょうか?

リーリー

デバッグを開始

リーリー

現在のクラスのオペコードを表示する

リーリー

ブレークポイントを追加してデバッグを開始する

リーリー

コードを実行して表示する

リーリー

実行を継続する

gdbと同様、phpdbgの実行継続コマンドもContinue、略称はc

ブレークポイントを表示する

リーリー

評価操作

任意のPHPコードを実行可能

上記の例で testa と testb の違いがわかります

リーリー

違いは、ZEND_PRE_INC のオペコードが ++$a であることです

testbに参照が存在する場合、$aは最初に2回インクリメントされてから追加されるため、結果は6になります。これはPHP自体の問題のはずです

このツールは vld よりもはるかに豊富で、PHP はますます強力になります

参考記事

https://github.com/krakjoe/phpdbg

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/1078396.html技術記事 [php] phpdbg を使用して PHP プログラムをデバッグします。 phpdbg は、コードを変更せず、パフォーマンスに影響を与えることなく、PHP 実行環境を制御できる PHP SAPI モジュールです。
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート