Share via


診斷建置問題

診斷和修正問題的組建是在軟體開發的一般工作。 Team Foundation Build 提供的工具可協助您診斷及解決問題 (例如:

  • 失敗或部分成功的組建

  • 例外狀況、錯誤或警告

  • 未預期的事件或結果

您想要怎麼做?

  • 決定建置為何不執行

  • 尋找與一個問題的資訊在建置結果視窗

  • 使用時,裝載組建控制器時,請先解決問題。

  • 要求並檢視診斷記錄

    • 當您使用內部部署組建控制器時,請取得診斷記錄

    • 因此,使用裝載組建控制器時,請取得診斷記錄

    • 檢視診斷記錄

  • 檢查您的建置系統和偵錯建置流程

  • 取得更多提示

必要的使用權限

您必須是 Windows 系統管理員群組的成員組建伺服器和 Project Collection Build Administrators 群組的成員、Team 專案集合的。 請參閱 Team Foundation Server 使用權限

決定建置為何不執行

如果組建是下一個 在佇列 ,但是仍然無法執行,請確定組建控制器和至少一個組建代理程式可用且已啟用。 如果建置處理序有組建代理程式篩選條件,請判斷符合標準可用與啟用的組建代理程式。 請參閱 Manage Your Build System指定組建代理程式處理您的組建部署和設定組建代理程式

尋找與一個問題的資訊在建置結果視窗

如果您的組建已經執行,受陷的處理序中的某一部分或完成,則您可以取得關於問題的詳細資訊 (以 建置結果視窗為單位)。 選取 [若要檢視記錄檔] 顯示詳細資訊:

  • 選取 [下一個錯誤] 或 [下警告] 略過直接加入至組建的問題。

  • 無論位於何處看到 [MSBuild 記錄檔] 執行個體連接,來取得有關所發生之事件的詳細資訊,請參閱 MSBuild 活動編譯和執行其他工作的程式碼。

  • 您可以複製資訊,因此,如果您要使用,可幫助您解決問題的人共用。 選擇記錄的特定段落或開啟從任何位置記錄的捷徑功能表中選擇 [選取所有]。 您可以開啟捷徑功能表並選擇 [複製] 將文字複製到剪貼簿。

檢視診斷記錄

如果您還沒有診斷的資訊不足問題,您可以檢視更詳細的診斷記錄檔。

JJ635150.collapse_all(zh-tw,VS.110).gif當您使用內部部署組建控制器時,請取得診斷記錄

當您裝載內部部署組建控制器時,診斷記錄在 置放資料夾中。 在 在建置結果視窗中,選取 [診斷],然後:

  • 如果組建完成,請選取 [最後的記錄會 ]日期和時間。。

  • 如果建置尚未完成,選取 [要求記錄]。

    擷取診斷記錄

    系統組件記錄。

    在錄製就緒時,選取 [診斷], [ ]日期和時間。[ ]要求記錄的使用者。

系統會開啟包含診斷記錄置放資料夾的子資料夾。

注意事項注意事項

如果您使用 Visual Studio 2010 中, [診斷] 功能表在建置結果視窗不會顯示,不過,您仍然可以檢視這項診斷登入置放資料夾,在組建完成時。

JJ635150.collapse_all(zh-tw,VS.110).gif因此,使用裝載組建控制器時,請取得診斷記錄

當您使用時 裝載的組建控制器,建議您在 分級的位置中選取 [複製到建置輸出至伺服器] 。 在這種情況下,診斷記錄在 TFS 中,而且您可以檢視並下載到您的瀏覽器。

在建置結果視窗中,選取 [動作], [開啟瀏覽器]],然後在這個瀏覽器的組建結果,選取 [診斷]。 您可以選取 [若要檢視記錄檔] 開啟您可以選擇記錄您要檢視的功能表,或下載所有註冊 .zip 檔。

JJ635150.collapse_all(zh-tw,VS.110).gif檢視診斷記錄

在您開啟置放資料夾或下載 .zip 檔之後,您可以檢視下列記錄之一:

  • 從組建控制器: ActivityLog

  • 從參與建置的每個組建代理程式: **ActivityLog.AgentScope.**Build_Agent_ID

  • 對於 MSBuild 活動編譯的每個方案: Solution_Name

最好的方式檢視這些記錄將其複製到您的開發電腦和開啟到其中。

檢查您的建置系統和偵錯建置流程

某些問題可能由您的內部部署建置系統產生。

提示

嘗試部署您的開發電腦上做為組建伺服器,讓您可以更輕鬆地取得對建置處理序執行環境的直接存取。請參閱 部署和設定組建伺服器

JJ635150.collapse_all(zh-tw,VS.110).gif檢查您的建置系統元件

請確定已正確設定組建伺服器、控制器和代理程式。 請參閱 部署和設定組建伺服器部署和設定組建控制器部署和設定組建代理程式

登入組建伺服器並確認它是否能正確運作。 您也可以檢視在組建伺服器上詳細的診斷資料。 請參閱 Manage Your Build System

JJ635150.collapse_all(zh-tw,VS.110).gif在偵錯組建伺服器的組建流程

若要診斷攔截例外狀況產生由 自訂建置流程。 活動,或者問題,嘗試偵錯在組建伺服器的組建流程。

  1. 登入組建伺服器。

  2. 執行 Visual Studio 為系統管理員。

  3. 在 Visual Studio 中,從功能表列上,選擇 [工具]],則 [要處理的附加]。

  4. 在 [附加處理] 對話方塊中:

    1. 選取 [顯示所有使用者的處理序]。

    2. 選取 [TFSBuildServiceHost.exe]。

    3. 選取 [附加]。

  5. 從功能表列上選擇 [偵錯], [例外狀況。]。 在 [例外狀況。] 對話方塊中,選取 [Common Language Runtime 例外狀況。]。 選擇 [確定]。

  6. 從功能表列上,選擇 [工具]],則 [選項]。 在 [選項] 對話方塊中,在樹狀目錄窗格中,選取 [偵錯]。 在 [概觀] 清單中,並清除 [啟用 Just My Code] 核取方塊。 選擇 [確定]。

  7. 在 Visual Studio 中, 將組建排入佇列 ,並確定它在組建伺服器上啟用偵錯工具的組建控制器和組建伺服器上執行。

您現在可以偵錯在建置程序期間所擲回的例外狀況,以及設定中斷點並偵錯您的自訂建置流程活動。 請參閱 Visual Studio 偵錯

秘訣

  • 提示 當您診斷建置處理序的問題,您可以暫停儲存自己和小組成員問題它,直到您可以修復程序:

    • 編輯組建定義,然後在 [概觀] 索引標籤的下方,選取 [暫停]。

    • 當組建定義暫停時,測試您的停駐在建置流程中,選取 已佇列組建。,開啟其捷徑功能表,然後選擇 [現在開始]。

  • 提示如果您認為您的組建系統元件可能原因的其中一個問題,您可以啟動,中斷或重新啟動組建伺服器或啟用或停用控制器或代理程式需要。 請參閱 Manage Your Build System

  • 提示通常,,當嘗試解決建置處理問題時,您需要將具有相同索引標籤的組建重複測試各種內建。 您可以快速重試組建:

    • 在建置結果視窗 方法是選擇 [動作]], [重試組建]。

    • 從 Team 總管的 建置頁 或從 Build 總管可以選取完成組建,開啟其捷徑功能表並選擇 [重試組建]。