共用方式為


使用已儲存的 IntelliTrace 資料 (C#、Visual Basic、C++)

當您從 IntelliTrace 記錄檔 (.iTrace) 檔案開始偵錯時,移至應用程式執行中的特定點。 此檔案可以包含效能事件、例外狀況、執行緒、測試步驟、模組,以及 IntelliTrace 在應用程式執行時記錄的其他系統資訊。

請確定您具備:

  • 比對應用程式程式碼的原始檔和符號 (.pdb) 檔。 否則,Visual Studio 無法解析來源位置,並顯示「找不到符號」訊息。請參閱 指定符號 (.pdb) 和來源檔案部署後診斷問題

  • Visual Studio Enterprise (但不是專業版或社群版) 在您的開發電腦或其他電腦上開啟 .iTrace 檔案

  • 來自下列其中一個來源的 .iTrace 檔案:

    來源 請參閱
    Visual Studio 企業版中的 IntelliTrace 工作階段 (但不是專業版或社群版) IntelliTrace 功能
    Microsoft 監視代理程式 (單獨或搭配 System Center 2012 R2 Operations Manager),適用於在部署中執行的 ASP.NET Web 應用程式和 SharePoint 應用程式 - 部署後診斷問題
    - System Center 2012 R2 Operations Manager 的新功能

你想做什麼?

開啟 IntelliTrace 記錄

在裝有 Visual Studio Enterprise 的電腦上,開啟 .iTrace 檔案。

  • 按兩下 Visual Studio 外部的 .iTrace 檔案,或從 Visual Studio 內部開啟檔案。

    - 或 -

  • 如果 .iTrace 檔案附加至 Team Foundation Server 工作專案,請遵循工作專案中的下列步驟:

    • 「所有連結」下,尋找 .iTrace 檔案。 打開它。

      - 或 -

    • [重現步驟] 底下,選擇 [IntelliTrace] 連結。

小提示

如果您在偵錯期間關閉 IntelliTrace 檔案,您可以輕鬆地重新開啟它。 移至 [偵錯] 功能表,選擇 [IntelliTrace]、[ 顯示記錄摘要]。 您也可以在 IntelliTrace 視窗中選擇 [顯示記錄摘要]。 這只有在使用 IntelliTrace 偵錯時才能使用。

瞭解 IntelliTrace 記錄

只有當您從特定來源 (例如,從 SharePoint 應用程式) 收集資料時,才會出現 .iTrace 檔案中的下列部分。

部分 Contains 收藏來源
效能違規 函數呼叫超過設定閾值的效能事件 Microsoft 監視代理程式,獨立收集元件或配合 System Center 2012 R2 Operations Manager 使用,適用於在 IIS 上裝載的 ASP.NET 網頁應用程式
例外狀況資料 例外狀況,包括每個例外狀況的完整呼叫堆疊 所有來源
分析 僅適用於 SharePoint 2010 和 SharePoint 2013 應用程式。 診斷 IntelliTrace 和 SharePoint 事件,例如偵錯工具事件、ULS 事件、未處理的例外狀況,以及 Microsoft 監視代理程式記錄的其他資料。 Microsoft Monitoring Agent,作為獨立收集器或搭配 System Center 2012 R2 Operations Manager 使用
系統資訊 主機系統的設定和規格 所有來源
執行緒清單 在收集期間執行的線程 所有來源
模組 目標處理程序依載入順序載入的模組。 所有來源
網路請求 生產 IIS Web 應用程式和 SharePoint 2010 和 SharePoint 2013 的 Web 要求資料 Microsoft Monitoring Agent 和獨立集器

以下是一些提示,可協助您在每個部分中尋找資訊:

  • 選擇欄標題來排序資料。

  • 使用搜尋框來篩選資料。 純文字搜尋適用於時間欄以外的所有欄。 您也可以使用每欄一個篩選器,將搜尋篩選為特定欄。 輸入不帶空格的欄名稱、冒號 () 和搜尋值。 後面加上分號 (;) 以新增另一欄和搜尋值。

    例如,若要尋找 「說明」 欄中包含「慢」字樣的效能事件,請輸入:

    Description:slow

從 IntelliTrace 記錄檔開始偵錯

效能違規

檢閱針對應用程式記錄的效能事件。 您可以隱藏那些不經常發生的事件。

從效能事件開始偵錯
  1. 「效能違規」下,檢閱記錄的效能事件、其總執行時間和其他事件資訊。 然後深入瞭解在特定效能事件期間呼叫的方法或函式。

    查看效能事件詳情

    您也可以按兩下事件。

  2. 在事件頁面上,檢閱這些呼叫的執行時間。 在執行樹狀結構中尋找慢速呼叫。

    當您有多個(嵌套或其他類型的)呼叫時,最慢的呼叫會出現在它們各自的部分。

  3. 展開該呼叫,以檢閱在該時間點所記錄的任何巢狀呼叫及其參數值。

    (鍵盤:若要顯示或隱藏巢狀通話,請分別按 向右鍵向左鍵 。若要顯示和隱藏巢狀呼叫的參數值,請按 空格鍵

    從呼叫開始偵錯。

    從方法呼叫開始偵錯:FFR_ITSummaryPagePerformanceMethodsCalled

    您也可以雙擊通話或按 Enter 鍵。

    如果方法位於您的應用程式程式碼中,Visual Studio 會移至該方法。

    從效能事件移至應用程式程式碼FFR_ITSummaryPagePerformanceGoToCode

    現在,您可以檢閱其他記錄的值、呼叫堆疊、逐步執行程式碼,或使用 IntelliTrace 視窗,在此效能事件期間呼叫的其他 方法之間「及時」向後或向前移動

例外狀況資料

檢閱應用程式中拋出並記錄的例外狀況。 您可以將具有相同類型和呼叫堆疊的例外狀況分組,以便只看到最新的例外狀況。

從例外狀況開始偵錯
  1. [例外狀況資料] 底下,檢閱記錄的例外狀況事件、其類型、訊息,以及例外狀況發生的時間。 若要深入瞭解程式碼,請從一組例外狀況中的最新事件開始偵錯。

    從例外狀況事件FFR_ITSummaryPageException開始偵錯

    您也可以按兩下事件。 如果事件未分組,請選擇偵錯此事件

    如果您的應用程式程式碼中發生例外狀況,Visual Studio 會移至發生例外狀況的位置。

    從例外事件移至應用程式程式碼 FFR_ITSummaryPageExceptionGoToCode

    現在,您可以檢閱其他記錄的值、呼叫堆疊,或使用 IntelliTrace 視窗,在其他記錄的事件、相關程式碼,以及這些時間點記錄的值 之間「及時」向後或向前移動

    顯示
    Type .NET 例外狀況的類型
    群組例外狀況的 [最新訊息] 或 [未群組例外狀況的訊息] 例外狀況所提供的訊息
    群組例外狀況的計數 擲出例外狀況的次數
    未分組例外狀況的執行緒識別碼 擲回例外狀況之執行緒識別碼
    最新活動時間活動時間 當發生例外狀況時記錄的時間戳記
    呼叫堆疊 呼叫例外狀況的堆疊。

    若要查看呼叫堆疊,請在清單中選擇例外狀況。 呼叫堆疊會出現在例外清單下方。

分析

使用 SharePoint 相互關聯識別碼來診斷 SharePoint 2010 和 SharePoint 2013 應用程式的問題,或檢閱 Microsoft Monitoring Agent 發現的任何未處理的例外狀況。

  • 使用 SharePoint 相互關聯識別碼來尋找其相符的 Web 要求和事件。 選擇一個事件,然後在事件發生的地點和時間開始偵錯。

  • 如果 Microsoft Monitoring Agent 發現未處理的例外狀況,請選擇例外狀況,然後在發生例外狀況的時間點開始偵錯。

使用 SharePoint 相互關聯識別碼開始偵錯
  1. 從其來源複製 SharePoint 相互關聯識別碼。

    例如:

    IntelliTrace - SharePoint 錯誤 - 相互關聯識別碼

  2. 開啟 .iTrace 檔案,然後移至 [分析 ] 並輸入 SharePoint 相互關聯識別碼,以檢閱相符的 Web 要求和記錄的事件。

    IntelliTrace 記錄 - 輸入 SharePoint 相互關聯識別碼

  3. [要求事件] 底下,檢查事件。 從頂端開始,事件會依發生的順序顯示。

    1. 選擇事件以查看其詳細資訊。

    2. 選擇 Start Debugging (開始偵錯 ) ,在事件發生的點開始偵錯。

      IntelliTrace 記錄檔 - 檢視 Web 要求 + 事件

    您可以看到這些類型的 SharePoint 事件以及 IntelliTrace 事件:

  • 使用者設定檔事件

    當 SharePoint 載入使用者設定檔,以及讀取或變更使用者設定檔屬性時,就會發生這些事件。

  • 統一記錄系統 (ULS) 事件

    Microsoft Monitoring Agent 會記錄 SharePoint ULS 事件的子集,以及下列欄位:

    IntelliTrace 欄位 SharePoint ULS 欄位
    識別碼 事件標識碼
    等級 等級
    類別 ID 類別 ID
    類別 類別
    適用範圍 產品
    Output Message
    相關性識別碼 相關性識別碼
從未處理的例外狀況開始偵錯
  1. 為例外選擇 SharePoint 關聯 ID。 例外狀況會依類型和呼叫堆疊分組。

  2. (選用)展開 [呼叫堆疊 ] 以查看一組例外狀況的呼叫堆疊。

  3. 選擇 Debug Exception (偵錯例外狀況 ) ,以在異常發生的時間點開始偵錯。

    IntelliTrace 記錄 - SharePoint 未處理的例外狀況

    如需逐步解說,請參閱 逐步解說:使用 IntelliTrace 偵錯 SharePoint 應用程式。 如需代理程式記錄的資料類型,請參閱 IntelliTrace 功能

執行緒清單

檢查在目標處理程序中執行的已記錄執行緒。 您可以從所選執行緒中的第一個有效 IntelliTrace 事件開始偵錯。

從特定執行緒開始偵錯
  1. [串連清單] 下,選擇串連。

  2. [執行緒清單] 底部,選擇 [開始偵錯]。 您也可以雙擊一個線程。

    若要從應用程式開始的位置開始偵錯,請按兩下 [主執行緒]。 請參閱 IntelliTrace 功能

    使用者建立的執行緒資料可能比伺服器針對 IIS 裝載的 Web 應用程式建立和管理的執行程更有用。

顯示
識別碼 執行緒 ID 號碼
名稱 執行緒名稱。 未命名的討論串會顯示為「<無名稱>」。
開始時間 建立執行緒的時間
結束時間 執行緒完成的時間
從特定測試步驟開始偵錯
  1. 展開 [測試步驟方格]。 選擇測試步驟。

  2. [測試步驟格線] 底部,選擇 [開始偵錯]。 您也可以按兩下測試步驟。

    這會從所選測試步驟之後的第一個有效 IntelliTrace 事件開始偵錯。

    當測試資料存在時,IntelliTrace 會嘗試解析用來執行測試執行的相關聯 Team Foundation Server 組建。 如果找到組建,則會自動解析應用程式的相關聯符號。

欄位 顯示
測試會話 已錄製的測試會話。 通常,只有一個。 如果測試資料是使用手動探索性測試建立,則此清單是空的。
測試案例 所選測試工作階段中的測試案例。 如果測試資料是使用手動探索性測試建立,則此清單是空的。
測試步驟網格 測試步驟及其通過或失敗的結果被記錄下來

系統資訊

本節會顯示代管應用程式之系統的詳細資料,例如硬體、作業系統、環境和程序特定資訊。

模組

本節顯示目標進程載入的模組。 模組會依載入的順序顯示。

顯示
模組名稱 模組檔案名稱
模組路徑 載入模組的磁碟位置
模組 ID 模組的唯一識別碼,該識別碼是版本特定的,並有助於相符符號 (PDB) 檔案。 請參閱 尋找符號 (.pdb) 檔案和來源檔案

我可以在哪裡獲得更多資訊?

使用 IntelliTrace 獨立收集器

IntelliTrace 功能

在手動測試中收集更多診斷資料

IntelliTrace

論壇

Visual Studio 偵錯工具