ホームページ >バックエンド開発 >PHPチュートリアル >XdebugとSublime Text 3でのデバッグ3

XdebugとSublime Text 3でのデバッグ3

Joseph Gordon-Levitt
Joseph Gordon-Levittオリジナル
2025-02-22 09:21:17847ブラウズ

XdebugとSublime Text 3でのデバッグ3

デバッグ - 私たちは皆それをたくさんやっています。コードを初めて書くことは難しく、それで成功するのは数個(もしあれば)だけです。 1年以上前、ShameerはXdebugとNetBeansを使用してアプリケーションをデバッグする方法についてSitePointに関する記事を書きました。この記事では、Sublime Textと組み合わせてXdebugを使用してデバッグする方法を見ていきます。

キーテイクアウト

XDebugは、PHP.iniファイルまたは特定の設定を備えたXdebug.iniファイルで構成する必要があります。その後、Webサーバーを再起動する必要があります。
  • 崇高なテキスト3の場合、プロジェクトを設定する必要があり、WebアプリケーションのURLをプロジェクトファイルの設定に追加する必要があります。これにより、毎回XDebug構成を変更することなく、複数のプロジェクトでデバッグできます。
  • XDebugセッションを開始でき、アプリケーションが停止する場所でブレークポイントを設定できます。そこから、変数を検査することができ、アプリケーションは次のブレークポイントまで、または「実行」、「ステップイン」、「ステップオーバー」、「ステップアウト」などのさまざまなコマンドを使用して、最後まで実行できます。
  • 始めましょう
  • まず、PHP Xdebug拡張機能をインストールする必要があります。これを完了する方法が不確かな場合は、紹介で提供されているリンクをご覧ください。 Xdebugがphpinfo()にリストされているかどうかを確認して動作していることを確認してください。
  • もちろん、崇高なテキストも必要です。最新バージョン:Sublime Text 3を使用します。崇高なテキスト2でも動作するはずです。
  • xdebug のセットアップ

    php.iniファイルに以下を追加してxdebugを構成する必要があります。

    一般に、127.0.0.1をホストとして使用します。ただし、たとえばVagrantを使用している場合は、Xdebugがシステムを見つけることができる場所に応じて、10.0.2.2のようなものを使用します。
    リモートログは必要ありませんが、問題が発生した場合、発生したエラーに関する情報を見つけることができる場所です。

    Webサーバーを再起動することを忘れないでください!

    Sublime Text 3

    のセットアップ

    崇高の強みの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」を検索します。
    XdebugとSublime Text 3でのデバッグ3

    私たちがしなければならない最後のビットは、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セッションが開始されます。崇高な場合、1つ以上のブレークポイントを設定した後、デバッグ情報が表示される場所にいくつかの追加のパネルが表示されます。

    ブレークポイント

    最初のブレークポイントを設定しましょう。ブレークポイントは、基本的に、アプリケーションが到達すると停止するフラグです。停止している現時点では、すべての変数の値を検査できるように、実際に何が起こっているのかを知ることができます。

    ライン上の右マウスでクリックし、XDebugに移動してから[ブレークポイントの追加/削除]をクリックすることで、ブレークポイントを追加できます。マーカーがラインガターに追加され、ブレークポイントが設定されていることを示します。

    ブラウザを再度開き、開始したばかりのセッションを続行します。ブレークポイントがあるページに行くとすぐに、ページが読み込みを停止することに気付くでしょう。崇高なものを開くと、Xdebugパネルに多くの情報が表示されます。

    XdebugスタックとXdebugのコンテキストは非常に興味深いです。スタックでは、通話が通過したスタックトレース全体を見ることができます。

    XdebugとSublime Text 3でのデバッグ3コンテキストでは、すべてのグローバル変数だけでなく、自分で定義した変数も表示されます。これらの変数をクリックして、これらの変数が保持されていることを正確に確認できます。たとえば、下のスクリーンショットでは、$ _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をインストールするにはどうすればよいですか? Sublime Text 3にXdebugをインストールするには、最初にXdebug PHP拡張子をインストールする必要があります。これは、Xdebug Webサイトから適切なDLLファイルをダウンロードし、PHP Extensionsディレクトリに追加することで実行できます。その後、XDebug拡張機能を含めるためにPHP.iniファイルを変更する必要があります。 Xdebug PHP拡張機能がインストールされたら、パッケージコントロールを使用して崇高なテキスト3用のXDebugパッケージをインストールできます。

    崇高なテキストにXdebugを構成するには、崇高なテキスト3にXDebugの設定には、php.iniファイルと崇高なテキスト3設定の変更が含まれます。 php.iniファイルでは、xdebug.remote_enableおよびxdebug.remote_autostartの設定を1に設定する必要があります。 。

    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でリモートPHPアプリケーションをデバッグできますか?崇高なテキスト3。これには、xdebug.remote_hostおよびxdebug.remote_port設定の設定など、追加の構成が必要です。 php.ini file。

    ​​ sublimeテキスト3でXdebugを更新するには、sublimeテキストのXdebug Php拡張機能とXdebugパッケージを更新する必要があります。 XDebug Webサイトから最新のDLLファイルをダウンロードし、PHP Extensionsディレクトリの既存のDLLファイルを置き換えることにより更新されます。崇高なテキスト3用のXdebugパッケージは、パッケージコントロールを使用して更新できます。

    以上がXdebugとSublime Text 3でのデバッグ3の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

    声明:
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。