當您從 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 記錄檔開始偵錯
效能違規
檢閱針對應用程式記錄的效能事件。 您可以隱藏那些不經常發生的事件。
從效能事件開始偵錯
在 「效能違規」下,檢閱記錄的效能事件、其總執行時間和其他事件資訊。 然後深入瞭解在特定效能事件期間呼叫的方法或函式。
您也可以按兩下事件。
在事件頁面上,檢閱這些呼叫的執行時間。 在執行樹狀結構中尋找慢速呼叫。
當您有多個(嵌套或其他類型的)呼叫時,最慢的呼叫會出現在它們各自的部分。
展開該呼叫,以檢閱在該時間點所記錄的任何巢狀呼叫及其參數值。
(鍵盤:若要顯示或隱藏巢狀通話,請分別按 向右鍵 或 向左鍵 。若要顯示和隱藏巢狀呼叫的參數值,請按 空格鍵 。
從呼叫開始偵錯。
您也可以雙擊通話或按 Enter 鍵。
如果方法位於您的應用程式程式碼中,Visual Studio 會移至該方法。
現在,您可以檢閱其他記錄的值、呼叫堆疊、逐步執行程式碼,或使用 IntelliTrace 視窗,在此效能事件期間呼叫的其他 方法之間「及時」向後或向前移動 。
例外狀況資料
檢閱應用程式中拋出並記錄的例外狀況。 您可以將具有相同類型和呼叫堆疊的例外狀況分組,以便只看到最新的例外狀況。
從例外狀況開始偵錯
在 [例外狀況資料] 底下,檢閱記錄的例外狀況事件、其類型、訊息,以及例外狀況發生的時間。 若要深入瞭解程式碼,請從一組例外狀況中的最新事件開始偵錯。
您也可以按兩下事件。 如果事件未分組,請選擇偵錯此事件。
如果您的應用程式程式碼中發生例外狀況,Visual Studio 會移至發生例外狀況的位置。
現在,您可以檢閱其他記錄的值、呼叫堆疊,或使用 IntelliTrace 視窗,在其他記錄的事件、相關程式碼,以及這些時間點記錄的值 之間「及時」向後或向前移動。
欄 顯示 Type .NET 例外狀況的類型 群組例外狀況的 [最新訊息] 或 [未群組例外狀況的訊息] 例外狀況所提供的訊息 群組例外狀況的計數 擲出例外狀況的次數 未分組例外狀況的執行緒識別碼 擲回例外狀況之執行緒識別碼 最新活動時間 或 活動時間 當發生例外狀況時記錄的時間戳記 呼叫堆疊 呼叫例外狀況的堆疊。
若要查看呼叫堆疊,請在清單中選擇例外狀況。 呼叫堆疊會出現在例外清單下方。
分析
使用 SharePoint 相互關聯識別碼來診斷 SharePoint 2010 和 SharePoint 2013 應用程式的問題,或檢閱 Microsoft Monitoring Agent 發現的任何未處理的例外狀況。
使用 SharePoint 相互關聯識別碼來尋找其相符的 Web 要求和事件。 選擇一個事件,然後在事件發生的地點和時間開始偵錯。
如果 Microsoft Monitoring Agent 發現未處理的例外狀況,請選擇例外狀況,然後在發生例外狀況的時間點開始偵錯。
使用 SharePoint 相互關聯識別碼開始偵錯
從其來源複製 SharePoint 相互關聯識別碼。
例如:
開啟 .iTrace 檔案,然後移至 [分析 ] 並輸入 SharePoint 相互關聯識別碼,以檢閱相符的 Web 要求和記錄的事件。
在 [要求事件] 底下,檢查事件。 從頂端開始,事件會依發生的順序顯示。
選擇事件以查看其詳細資訊。
選擇 Start Debugging (開始偵錯 ) ,在事件發生的點開始偵錯。
您可以看到這些類型的 SharePoint 事件以及 IntelliTrace 事件:
使用者設定檔事件
當 SharePoint 載入使用者設定檔,以及讀取或變更使用者設定檔屬性時,就會發生這些事件。
統一記錄系統 (ULS) 事件
Microsoft Monitoring Agent 會記錄 SharePoint ULS 事件的子集,以及下列欄位:
IntelliTrace 欄位 SharePoint ULS 欄位 識別碼 事件標識碼 等級 等級 類別 ID 類別 ID 類別 類別 適用範圍 產品 Output Message 相關性識別碼 相關性識別碼
從未處理的例外狀況開始偵錯
為例外選擇 SharePoint 關聯 ID。 例外狀況會依類型和呼叫堆疊分組。
(選用)展開 [呼叫堆疊 ] 以查看一組例外狀況的呼叫堆疊。
選擇 Debug Exception (偵錯例外狀況 ) ,以在異常發生的時間點開始偵錯。
如需逐步解說,請參閱 逐步解說:使用 IntelliTrace 偵錯 SharePoint 應用程式。 如需代理程式記錄的資料類型,請參閱 IntelliTrace 功能。
執行緒清單
檢查在目標處理程序中執行的已記錄執行緒。 您可以從所選執行緒中的第一個有效 IntelliTrace 事件開始偵錯。
從特定執行緒開始偵錯
在 [串連清單] 下,選擇串連。
在 [執行緒清單] 底部,選擇 [開始偵錯]。 您也可以雙擊一個線程。
若要從應用程式開始的位置開始偵錯,請按兩下 [主執行緒]。 請參閱 IntelliTrace 功能。
使用者建立的執行緒資料可能比伺服器針對 IIS 裝載的 Web 應用程式建立和管理的執行程更有用。
| 欄 | 顯示 |
|---|---|
| 識別碼 | 執行緒 ID 號碼 |
| 名稱 | 執行緒名稱。 未命名的討論串會顯示為「<無名稱>」。 |
| 開始時間 | 建立執行緒的時間 |
| 結束時間 | 執行緒完成的時間 |
從特定測試步驟開始偵錯
展開 [測試步驟方格]。 選擇測試步驟。
在 [測試步驟格線] 底部,選擇 [開始偵錯]。 您也可以按兩下測試步驟。
這會從所選測試步驟之後的第一個有效 IntelliTrace 事件開始偵錯。
當測試資料存在時,IntelliTrace 會嘗試解析用來執行測試執行的相關聯 Team Foundation Server 組建。 如果找到組建,則會自動解析應用程式的相關聯符號。
| 欄位 | 顯示 |
|---|---|
| 測試會話 | 已錄製的測試會話。 通常,只有一個。 如果測試資料是使用手動探索性測試建立,則此清單是空的。 |
| 測試案例 | 所選測試工作階段中的測試案例。 如果測試資料是使用手動探索性測試建立,則此清單是空的。 |
| 測試步驟網格 | 測試步驟及其通過或失敗的結果被記錄下來 |
系統資訊
本節會顯示代管應用程式之系統的詳細資料,例如硬體、作業系統、環境和程序特定資訊。
模組
本節顯示目標進程載入的模組。 模組會依載入的順序顯示。
| 欄 | 顯示 |
|---|---|
| 模組名稱 | 模組檔案名稱 |
| 模組路徑 | 載入模組的磁碟位置 |
| 模組 ID | 模組的唯一識別碼,該識別碼是版本特定的,並有助於相符符號 (PDB) 檔案。 請參閱 尋找符號 (.pdb) 檔案和來源檔案。 |