TeamCity 2020.2 ヘルプ

リモートデバッグ

Remote Debug is a feature allowing you to remotely debug your tests on the TeamCity agent machine from the IDE on the local developer machine. This feature is of use when the agent environment is unique in some aspect, which causes a test to fail, and it is difficult to reproduce the problem locally.

IntelliJ ベースの IDE 用の TeamCity 統合を有効にすると、IntelliJ IDEA プロジェクトおよび Ant ビルド手順に基づくビルドに対して、リモートデバッグセッションを IntelliJ IDEA から直接起動できます。

現在、次の IntelliJ IDEA 実行構成がサポートされています。

  • Java アプリケーション実行構成

  • JUnit 実行構成

  • TestNG 実行構成

Remote debug for Ant steps requires that the build configuration have the teamcity.remote-debug.ant.supported=true parameter.

前提条件

テストをリモートでデバッグする

  1. テストのリモートデバッグを開始するには、テストを選択してコンテキストメニューから TeamCity エージェントで <テスト名> をリモートでデバッグしますオプションを選択します(リモートデバッグアクションは TeamCity プラグインメニューからも利用できます。このアクションでは IntelliJ IDEA 実行構成を選択する必要があります)。

  2. これを行うと、TeamCity プラグインは、デバッグセッションを開始するビルド構成を選択するように求めます。このプロセスは、個人用ビルドの開始に似ています。例:個人的な変更がある場合、個人用パッチが作成され、エージェントに送信されます。また、プロセスは基本的に同じであるため、ビルド構成を選択するときに、エージェントを指定したり、プロパティをカスタマイズしたりできます。

    remote_debug_conf_selected.png

  3. 選択した設定に複数の IntelliJ IDEA プロジェクトビルドステップが含まれている場合、プラグインはデバッグセッションを開始する場所を選択します。

    remote_debug_step_selected.png

  4. その後、ビルドがキューに追加され、標準の IntelliJ IDEA デバッグツールウィンドウが表示されます。

    remote_debug_tool_window.png
    デバッグツールウィンドウはリスニングモードで動作します。つまり、エージェントがそれに接続するのを待ちます。エージェントが接続されると、エージェント上の Java プロセスは一時停止され、エージェントに接続されたという通知が IDE に表示されます。
    agent_attached_popup.png

  5. これで、ブレークポイントを設定し、通知ポップアップまたはデバッグツールウィンドウで開始をクリックして実際にデバッグセッションを開始できます。
    JVM プロセスが終了すると、別の通知ポップアップが IDE に表示されます。

    repeat_debug_notification.png
    デバッグセッションはまだ終了していません。それを繰り返すか、または終了することは可能性のあるです。繰り返しを選択すると、同じビルドステップが再度実行されます。これは、新しいデバッグセッションを開始するよりもはるかに高速です。