2


0

私はXDebug対話式デバッグクライアントとしてNetBeansを使っています。 しかし、Firefoxを介して起動されるスクリプトへのデバッガの接続のみをサポートしているようです。 それがcURLを介して呼び出されたときに私は要求解析スクリプトを介してステップしたいです。

2 Answer


2


私は答えを考え出しました。 まず、NetBeansのwordpressプロジェクトを右クリックして「debug」を選択し、デバッガを接続しました。 これは、URLに含まれる "XDEBUG_SESSION_START = netbeans-xdebug"パラメータを使用して、Firefoxでブログを開きます(例: "http:// localhost / wordpress /?XDEBUG_SESSION_START = netbeans-xdebug")。

それから私はコマンドラインからcURLを起動しました。名前と値がXDEBUG_SESSION / netbeans-xdebugのクッキーを設定していることを確認してください。

> curl "http://localhost/wordpress/wp-app.php/posts" -X POST -H "コンテンツタイプ:application / atom xml" -v -L -k -u admin:パスワード--data @post_atom_entry_bad .xml -o post_bad_response.txt -b XDEBUG_SESSION = netbeans-xdebug
*  localhostのポート80にconnect()しようとしています(#0)
*  127.0.0.1を試しています... つながった
*  localhost(127.0.0.1)ポート80(#0)に接続
*  ユーザーadminでPOSTを使用してサーバー認証> POST /wordpress/wp-app.php/posts HTTP / 1.1>認証:基本YWRtaW46d2Fuc3Vp>ユーザエージェント:curl / 7.19.1(i586-pc-mingw32msvc)libcurl / 7.19。 1 OpenSSL / 0.9.8i zlib / 1.2.3>ホスト:localhost>許可:* / *>クッキー:XDEBUG_SESSION = netbeans-xdebug>コンテンツタイプ:application / atom xml>コンテンツ長:302>} [データは表示されていません]%Total%Received%Xferd平均速度時間時間時間現在のアップロードアップロード合計使用済み左速度100 302 0 0 0 302 0 74  - : - : -  0:00:04  - : - : -  0

この時点で、cURLはwp-app.phpの283行目、AtomParser→ handle_request()で設定したブレークポイントで停止し、コードをステップスルーすることができます。

F5(続ける)をクリックすると、サーバーは応答をcURLに送り返します。

%Total%Received%Xferd平均速度時間時間時間現在のアップロードアップロード残りの合計速度100 302 0 0 0 302 0 2  - : - : -  0:02:17  - : - : -  0 <HTTP /1.1 400悪い要求<日付:月、2008年12月15日17:47:06 GMT <サーバー:Apache / 2.2.9(Win32)DAV / 2 mod_ssl / 2.2.9 OpenSSL / 0.9.8i mod_autoindex_color PHP / 5.2.6 < X-Powered-by:PHP / 5.2.6 <コンテンツの長さ:0 <接続:閉じる<コンテンツの種類:text / plain <100 302 0 0 0 302 0 2  - : - : -  0:02: 18  - : - : -  0 *コネクション#0を閉じる

>

完了しました。 メモ帳のような他の対話型デバッグクライアントから例を入手するのは素晴らしいでしょう。


1


関連XDebugドキュメント:http://www.xdebug.org/docs/remote#browser_session