ビルドの問題の診断

ビルドに関する問題の診断と修正は、ソフトウェア開発における標準タスクです。 Team Foundation ビルドには、次のような問題のデバッグおよび解決に役立つツールが用意されています。

  • 失敗したビルドまたは一部成功したビルド

  • 例外、エラー、または警告

  • 予期しないイベントまたは結果

目的に合ったトピックをクリックしてください

  • ビルドが実行されていない理由を確認する

  • ビルドの結果ウィンドウで問題に関する情報を検索する

  • 診断ログを要求および表示する

  • ビルド システムをチェックしてビルド プロセスをデバッグする

  • 詳細なヒントを表示する

必要なアクセス許可

ビルド サーバーの Windows Administrators グループのメンバーであり、なおかつチーム プロジェクト コレクションのプロジェクト コレクション ビルド管理者グループのメンバーである必要があります。 「Team Foundation Server のアクセス許可の参照」を参照してください。

ビルドが実行されていない理由を確認する

ビルドがキュー内の次のビルドでも、まだ実行されていない場合は、ビルド コントローラーとビルド エージェントの少なくとも 1 つが使用可能で、有効になっていることを確認します。 ビルド プロセスにビルド エージェントのフィルターが設定されている場合は、その条件を満たすビルド エージェントが使用可能で、有効になっていることを確認します。 「ビルド システムの管理」、「ビルドを処理するビルド エージェントを指定する」、および「ビルド エージェントの配置および構成」を参照してください。

ビルドの結果ウィンドウで問題に関する情報を検索する

ビルドが実行中の場合、プロセスの一部で保留になっている場合、または完了している場合は、ビルドの結果ウィンドウで問題に関する詳細情報を確認できます。 詳細情報を表示するには、[ログの表示] をクリックします。

  • ビルドの問題に直接スキップするには、[次のエラー] または [次の警告] をクリックします。

  • [MSBuild ログ ファイル] リンクのインスタンスが表示されたら、そのリンクをクリックし、MSBuild アクティビティでコードをコンパイルしたり、他のタスクを実行したりしたときに発生したイベントに関する詳細情報を表示します。

  • 情報をコピーし、必要に応じて、問題の解決を支援するユーザーとその情報を共有できます。 ログ内の特定の文を選択するか、ログ内のいずれの場所からコンテキスト メニューを開き、[すべて選択] をクリックします。 コンテキスト メニューを開き、[コピー] をクリックし、テキストをクリップボードにコピーできます。

診断ログを表示する

問題を診断するのに十分な情報がない場合は、より詳細な診断ログを表示できます。 ビルドの結果ウィンドウで、[診断] をクリックし、次の手順を実行します。

  • ビルドが完了している場合は、[date and time 時点の最終ログ] をクリックします。

  • ビルドが完了していない場合は、[ログの要求] をクリックします。

    診断ログの取得

    ログがアセンブルされます。

    ログの準備が整ったら、[診断][User who requested the log の date and time の時点] の順にクリックします。

ビルドの段階が UNC パス ドロップ フォルダーに出力されると、診断ログが格納されているドロップ フォルダーのサブフォルダーが開きます。 ドロップ フォルダーを開くか、.zip ファイルをダウンロードしたら、次のいずれかのログを表示できます。

  • ビルド コントローラーから: ActivityLog

  • ビルドに参加した各ビルド エージェントから: **ActivityLog.AgentScope.**Build_Agent_ID

  • MSBuild アクティビティでコンパイルされた各ソリューションの場合: Solution_Name

これらのログを表示する最良の方法は、dev コンピューターにログをコピーし、そのコンピューターからログを開くことです。

注意

Visual Studio 2010 を使用している場合、ビルドの結果ウィンドウに [診断] メニューは表示されませんが、ビルドが完了している場合はドロップ フォルダーの診断ログを表示できます。

ビルド システムをチェックしてビルド プロセスをデバッグする

内部設置型のビルド システムでいくつかの問題が発生する可能性があります。

ヒント

ビルド プロセスが実行されている環境への直接アクセスをより簡単にするために、dev コンピューターをビルド サーバーとして配置してください。「ビルド サーバーの配置および構成」を参照してください。

ビルド システム コンポーネントをチェックする

ビルド サーバー、コントローラー、およびエージェントが正しく構成されていることを確認します。 ビルド サーバーの配置および構成ビルド コントローラーの配置および構成、および ビルド エージェントの配置および構成 を参照してください。

ビルド サーバーにログオンし、正常に動作していることを確認します。 また、ビルド サーバーに関する詳細な診断データも表示できます。 「ビルド システムの管理」を参照してください。

ビルド サーバーでビルド プロセスをデバッグする

カスタム ビルド プロセス アクティビティによって、またはキャッチされない例外によって生じた問題を診断するには、ビルド サーバーでビルド プロセスをデバッグしてください。

  1. ビルド サーバーにログオンします。

  2. Visual Studio を管理者として実行します。

  3. Visual Studio のメニュー バーで [ツール][プロセスにアタッチ] の順にクリックします。

  4. [プロセスにアタッチ] ダイアログ ボックスで、次の手順を実行します。

    1. [すべてのユーザーからのプロセスを表示する] をクリックします。

    2. [TFSBuildServiceHost.exe] をクリックします。

    3. [アタッチ] をクリックします。

  5. メニュー バーで [デバッグ][例外] の順にクリックします。 [例外] ダイアログ ボックスで、[Common Language Runtime Exceptions] をクリックします。 [OK] をクリックします。

  6. メニュー バーで、[ツール][オプション] の順にクリックします。 [オプション] ダイアログ ボックスのツリー ペインで、[デバッグ] をクリックします。 [全般] の一覧で、[マイ コードのみを有効にする] チェック ボックスをオフにします。 [OK] をクリックします。

  7. Visual Studio で、ビルドをキューに配置し、ビルドが、デバッガーを有効にしたビルド サーバーでホストされるビルド コントローラーとビルド サーバーで実行されていることを確認します。

ビルド プロセス中にスローされた例外をデバッグし、ブレークポイントを設定して、カスタム ビルド プロセスのアクティビティをデバッグできます。 「Visual Studio でのデバッグ」を参照してください。

ヒント

  • ヒント ビルド プロセスに関する問題を診断しているときに、プロセスが修正されるまでプロセスを一時停止して、自分やチームメイトの問題を保存できます。

    • ビルド定義を編集し、[全般] タブの下部で、[一時停止] をクリックします。

    • ビルド プロセスの修正プログラムをテストするには、キューに入っているビルドを選択し、そのコンテキスト メニューを開き、[今すぐ開始] を選択します。

  • ヒントビルド システム コンポーネントの 1 つがいずれかの問題の原因である可能性がある場合は、ビルド サーバーを開始、停止、または再起動するか、必要に応じてコントローラーまたはエージェントを有効にするか無効にできます。 「ビルド システムの管理」を参照してください。

  • ヒントビルド プロセスの問題を修正しているときに、さまざまな修正をテストするために同じオプションで繰り返しビルドをキューに配置しなければならないことがよくあります。 次の方法を使用して、ビルドを迅速に再試行できます。

    • ビルドの結果ウィンドウで、[操作][ビルドの再試行] の順にクリックします。

    • チーム エクスプローラーの [ビルド] ページまたはビルド エクスプローラーで、完了したビルドを選択し、コンテキスト メニューを開き、[ビルドの再試行] をクリックします。

  • ヒントホスト ビルド コントローラーを使用していますか。 「Use the Hosted Build Controller (ホスト ビルド コントローラーの使用)」を参照してください。