TeamCity 2020.1ヘルプ

リモート・デバッグ

リモート・デバッグは、ローカルの開発者マシン上のIDEからTeamCityエージェントマシン上のテストをリモートでデバッグできるようにする機能です。この機能は、エージェント環境が何らかの点で固有であり、テストが失敗し、問題をローカルで再現するのが困難な場合に役立ちます。

前提条件

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

  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. Now we can set some breakpoints and actually start the debug session by clicking 開始 either in the notification popup or in the debug tool window.
    Once JVM process exits, another notification popup appears in the IDE:

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