ホームページ >バックエンド開発 >PHPチュートリアル >XdebugとSublime Text 3でのデバッグ3
デバッグ - 私たちは皆それをたくさんやっています。コードを初めて書くことは難しく、それで成功するのは数個(もしあれば)だけです。 1年以上前、ShameerはXdebugとNetBeansを使用してアプリケーションをデバッグする方法についてSitePointに関する記事を書きました。この記事では、Sublime Textと組み合わせてXdebugを使用してデバッグする方法を見ていきます。
キーテイクアウト一般に、127.0.0.1をホストとして使用します。ただし、たとえばVagrantを使用している場合は、Xdebugがシステムを見つけることができる場所に応じて、10.0.2.2のようなものを使用します。
リモートログは必要ありませんが、問題が発生した場合、発生したエラーに関する情報を見つけることができる場所です。
のセットアップ
崇高の強みの1つは、パッケージで簡単に拡張できるという事実です。この場合、XDebugパッケージをインストールします。まだ行っていない場合は、パッケージコントロールをインストールしてパッケージをインストールできることを確認してください。<span>xdebug.remote_enable=1 </span><span>xdebug.remote_handler=dbgp </span><span>xdebug.remote_host=127.0.0.1 </span><span>xdebug.remote_port=9000 </span><span>xdebug.remote_log="/var/log/xdebug/xdebug.log"</span>パッケージコントロールをインストールしたら、Sublime Text 3を開始する必要があります。ツールメニューからコマンドパレットを開き、「インストールパッケージ」を検索します。
これで、好きなパッケージを検索できます。私たちの場合、パッケージ「XDebug Client」を検索します。
私たちがしなければならない最後のビットは、Sublime内でプロジェクトをセットアップすることです。これを行う最も簡単な方法は、アプリケーションのルートディレクトリを開き、プロジェクトに移動し、「プロジェクトを保存する」をクリックすることです。ファイルをアプリケーションのルート内に保存することをお勧めします。そのため、使用している場合はバージョン制御システムに保存でき、常に簡単に構成できます。
作成されたばかりのプロジェクトファイルを開きます。コンテンツは次のようになります:
<span>xdebug.remote_enable=1 </span><span>xdebug.remote_handler=dbgp </span><span>xdebug.remote_host=127.0.0.1 </span><span>xdebug.remote_port=9000 </span><span>xdebug.remote_log="/var/log/xdebug/xdebug.log"</span>さらにいくつかの行を追加します:
<span>{ </span><span> "folders": </span><span> [ </span><span> { </span><span> "follow_symlinks": true, </span><span> "path": "." </span><span> } </span><span> ] </span><span>}</span>ご覧のとおり、実際のWebアプリケーションにURLを追加しました。 Xdebugの設定をさらに設定できますが、これは最初から十分です。 XDebugの設定自体でこのURLを設定できたはずですが、その場合、毎回XDebug構成を変更せずに複数のプロジェクトに取り組むことができませんでした。
XDebugセッション
を開始します最初のブレークポイントを設定しましょう。ブレークポイントは、基本的に、アプリケーションが到達すると停止するフラグです。停止している現時点では、すべての変数の値を検査できるように、実際に何が起こっているのかを知ることができます。
ブラウザを再度開き、開始したばかりのセッションを続行します。ブレークポイントがあるページに行くとすぐに、ページが読み込みを停止することに気付くでしょう。崇高なものを開くと、Xdebugパネルに多くの情報が表示されます。
XdebugスタックとXdebugのコンテキストは非常に興味深いです。スタックでは、通話が通過したスタックトレース全体を見ることができます。
コンテキストでは、すべてのグローバル変数だけでなく、自分で定義した変数も表示されます。これらの変数をクリックして、これらの変数が保持されていることを正確に確認できます。たとえば、下のスクリーンショットでは、$ _Server変数をクリックしました。
黄色の矢印がラインを指していることに注意してください。アプリケーションは現在停止しています。
そのため、アプリケーションが停止し、定義された変数を調べることができます。しかし、私たちは完了しており、先に進みたいと思っています。今何?マウスをもう一度クリックしてXDebugメニューの上にホバリングすると、いくつかのオプションがあります。
次のブレークポイントまでまたはエンディングまでアプリケーションを実行するメソッドバーの最初の行にブレークポイントを追加したと想像してください。ブレークポイントのコメントとのライン(// BreakPoint)。
ステップインすると、デバッガーはFoobarメソッドに足を踏み入れ、最初の行で停止します。したがって、この場合、デバッガーはreturn array_values($ arr)で停止します。線。<span>xdebug.remote_enable=1 </span><span>xdebug.remote_handler=dbgp </span><span>xdebug.remote_host=127.0.0.1 </span><span>xdebug.remote_port=9000 </span><span>xdebug.remote_log="/var/log/xdebug/xdebug.log"</span>
ステップオーバーはメソッドを呼び出しますが、停止しません。メソッドを呼び出した後、次の行で停止します。したがって、この場合、それは$ arr;
で停止します。最後に、ステップアウトすることで、バーメソッド全体を実行し、発信者に戻ります。この場合、オブジェクトから出て、元の発信者に戻ります。
実行することを決めた場合、アプリケーションは実行が完了した瞬間までさらに実行されます。結論
この記事では、XdebugをSublimeと統合する方法を見て、デバッグの方法を理解したことを確認しました。 PHPに適したほぼすべてのIDEは、Xdebugと統合できます。 NetBeansでこのようにデバッグすることに興味がある場合は、紹介に記載されている記事をご覧ください。ブレークポイントを使用していますか?または、var_dumpのようなphp関数を使用してデバッグデータを取得していますか?以下のコメントでお知らせください!XdebugとSublime Text 3でのデバッグに関するよくある質問(FAQ)
Sublime Text 3にXdebugをインストールするにはどうすればよいですか? XDebugを使用して崇高なテキスト3でPHPコードをデバッグするにはどうすればよいですか?崇高なテキスト3、最初にコードにブレークポイントを設定する必要があります。これは、ブレークポイントが必要なコードラインの横にある溝をクリックすることで実行できます。ブレークポイントが設定されたら、XDebugメニューから「デバッグを開始」を選択してデバッグセッションを開始できます。 Macで崇高なテキスト3でXdebugを使用できます。 MacにXDebugをインストールして構成するプロセスは、Windowsのプロセスに似ていますが、いくつかの違いがあります。たとえば、PHP.iniファイルとPHP拡張ディレクトリの場所は異なる場合があります。 Sublime Text 3のXdebugには、「監視」機能を使用する必要があります。これにより、デバッグセッション中に監視する変数を指定できます。監視された変数が変更されると、その新しい値がXDebugパネルに表示されます。崇高なテキスト3。これは、「ステップオーバー」、「ステップイン」、および「ステップアウト」コマンドを使用して行われます。これらのコマンドを使用すると、ラインごとにコードの実行を制御し、バグを簡単に識別して修正できます。 Sublime Text 3のデバッグセッションでは、Xdebugメニューから「デバッグを停止する」コマンドを使用できます。これにより、デバッグセッションが終了し、コントロールを崇高なテキスト3に戻します。崇高なテキストにXdebugを構成するには、崇高なテキスト3にXDebugの設定には、php.iniファイルと崇高なテキスト3設定の変更が含まれます。 php.iniファイルでは、xdebug.remote_enableおよびxdebug.remote_autostartの設定を1に設定する必要があります。 。
Xdebugと崇高なテキスト3でリモートPHPアプリケーションをデバッグできますか?崇高なテキスト3。これには、xdebug.remote_hostおよびxdebug.remote_port設定の設定など、追加の構成が必要です。 php.ini file。
以上がXdebugとSublime Text 3でのデバッグ3の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。