4

PHPメンテナンススクリプトに苦労していて、コマンドラインでのみxdebugを使用する方法を探していました(gdb old-schoolなど)が、ブレークポイントを設定する方法を理解できず、ステップインして、ステップオーバーして続行します。言うように、Xdebugは稼働していphpinfo();ます。

Eclipseやその他のツールを使用してこれを行う方法に関する多くのドキュメントを見つけましたが、CLIにはありません。誰か助けてもらえますか?私の環境はCentos6とBashです。

どんな助けでも大歓迎です。

ありがとうございました!

4

1 に答える 1

8

これは実際に可能です。Xdebugソースのダウンロードには、「debugclient」というディレクトリがあります。このディレクトリには、生のDBGPコマンドを受け入れ、出力をXMLとして提供する非常に単純なクライアントがあります。コンパイルするには、次のコマンドを実行します。

  • apt-get install libedit-dev(または同等のもの)
  • ./buildconf
  • ./configure --with-libedit
  • 作る

その後、。を使用してバイナリを実行できます./debugclient

次に、別のシェルで次のコマンドを実行します。

  • XDEBUG_CONFIG = "idekey=dr"をエクスポートします
  • php -dxdebug.remote_enable = 1 yourscript.php

debugclientはこの接続を確認し、直接DBGPコマンドを発行できます。ブレークポイントの場合、たとえば次のように設定できます。

breakpoint_set -i 1 -t line -f file:///path/to/yourscript.php -n 42

-i 1増加する番号である必要があり-f、ファイルと-n行番号です。ブレークポイントを設定した後、実行run -i 2してその行に進むことができます。他のすべてのコマンドについては、 http://xdebug.org/docs-dbgp.phpにあるDBGPのドキュメントを参照してください。

于 2012-11-12T13:37:52.237 に答える