共用方式為


使用 IntelliTrace 巡覽

本主題僅適用於 Visual Studio 2010 Ultimate。

當您使用 Visual Studio 偵錯工具時,偵錯工具視窗會顯示應用程式在某個時間點之狀態的快照。 當您使用 IntelliTrace 時,就可以檢視應用程式在許多時間點的狀態。 在偵錯工作階段期間,IntelliTrace 會記錄應用程式在預先定義時間點的狀態。

使用 IntelliTrace 偵錯時,您可以巡覽至收集偵錯資訊的任何時間點。 當您巡覽至 IntelliTrace 中的新時間點時,來源視窗顯示發生此事件之時間點的原始程式碼。 在此同時,偵錯工具的 [呼叫堆疊] 視窗及其他偵錯工具視窗都會更新以顯示發生此事件的內容。

本主題將說明一些使用 IntelliTrace 來逐一巡覽所收集之應用程式記錄的方式。

本主題內容

  • IntelliTrace 事件檢視

  • 呼叫檢視

  • 巡覽邊

  • 搜尋 IntelliTrace 歷程

IntelliTrace 事件檢視

[IntelliTrace 事件] 檢視是 [IntelliTrace] 視窗的預設檢視,這個檢視預設會與 [方案總管] 和 [Team 總管] 一起停駐。只要啟用 IntelliTrace,系統就會收集 IntelliTrace 事件。 因此,您可以在任何 IntelliTrace 工作階段期間使用這個檢視。

[偵錯歷程] 視窗診斷事件檢視

在偵錯模式中,[IntelliTrace 事件] 檢視會顯示 IntelliTrace 在偵錯工作階段期間所收集的所有事件清單。 收集的事件是在 [選項] 對話方塊中指定的。 如需如何指定要收集之事件的詳細資訊,請參閱收集 IntelliTrace 資訊

若要在發生診斷事件時巡覽至此時間點

  • 在 [IntelliTrace 事件] 檢視中,按一下您想要巡覽的事件。

    來源視窗就會顯示發生此事件之時間點的原始程式碼、指令指標會移至該點,而且偵錯工具視窗會更新以顯示發生此事件的內容。

呼叫檢視

[呼叫] 檢視可讓您以階層方式檢視巡覽呼叫以及與這些呼叫相關聯的 IntelliTrace 事件。

[偵錯歷程] 視窗反轉堆疊檢視

與啟用 IntelliTrace 時永遠會收集的 IntelliTrace 事件不同之處在於,只有當您在 [選項] 對話方塊中啟用 [IntelliTrace 事件和呼叫資訊] 時,系統才會收集呼叫資訊。 如需如何啟用這個選項的詳細資訊,請參閱收集 IntelliTrace 資訊

若要顯示呼叫檢視

  • 在 [IntelliTrace] 視窗頂端的工具列中,按一下 [顯示呼叫檢視] 圖示。

[呼叫] 檢視就會顯示類似偵錯工具 [呼叫堆疊] 視窗之反轉版本的呼叫堆疊。 在 [呼叫堆疊] 視窗中,目前呼叫位於最頂端。 在 [呼叫] 檢視中則位於最底端。

使用 IntelliTrace 偵錯時,「目前呼叫」(Current Call) 是指目前在您正檢視的時間內容中的呼叫。 在實際時間中則不一定是目前的呼叫。

在目前呼叫下縮排的是 [呼叫] 檢視,它會顯示目前呼叫所發出呼叫的清單,以及與目前呼叫相關聯的 IntelliTrace 事件。

若要從目前呼叫巡覽至另一個呼叫

  • 在目前呼叫下方縮排的呼叫清單中,按兩下您想要巡覽的呼叫。

    [呼叫] 檢視就會更新以顯示您按兩下的呼叫現在是目前呼叫。 來源視窗、指令指標和偵錯工具視窗都會更新以顯示針對新的目前呼叫顯示應用程式的狀態。

若要巡覽至目前呼叫內部的呼叫位置

  • 在目前呼叫下方縮排的呼叫清單中,按一下出現在目前呼叫底下的呼叫。

    請勿按兩下此呼叫。 按兩下會讓您巡覽至此呼叫而非呼叫位置。

    在來源視窗中,指令指標會移至呼叫位置。 但是,[呼叫堆疊] 視窗不會變更,因為您仍然位於相同的呼叫中。

若要巡覽至目前呼叫內部的 IntelliTrace 事件

  • 按一下出現在目前呼叫底下的 IntelliTrace 事件。

    在來源視窗中,指令指標會移至呼叫位置。

巡覽邊

巡覽邊是另一個只有當您已經在 [選項] 對話方塊中啟用 [IntelliTrace 事件和呼叫資訊] 時,才能使用的巡覽工具。 巡覽邊會出現在來源視窗旁邊,介於標準偵錯邊和邊界之間。 標準偵錯邊是目前指令指標與中斷點圖示出現的垂直帶。

您可以在即時偵錯和使用 IntelliTrace 偵錯時使用巡覽邊。 巡覽邊的色彩會變更以表示您所處的模式。 即時偵錯的預設色彩是淺灰色。 使用 IntelliTrace 偵錯時,預設色彩是深灰色。

根據預設,系統會顯示巡覽邊。 不過,如果沒有收集方法和參數、IntelliTrace 已關閉,或者您已在 [選項] 對話方塊中停用此功能,就不會出現巡覽邊。 如果巡覽邊已關閉,而且您想要重新開啟,請參閱 HOW TO:啟用或停用巡覽邊

巡覽邊

巡覽邊包含下列巡覽圖示,如上圖所示。 請注意,[返回呼叫位置] 和 [逐步執行] 是相等卻相反的命令,如同 [移至上一個事件] 和 [移至下一個事件] 一樣。

  • [返回呼叫位置] 會將指令指標和偵錯內容的時間向後移至呼叫目前函式或方法的時間點。 如果您正在即時偵錯模式中工作,這個命令就會讓您開始使用 IntelliTrace 偵錯。

  • [逐步執行] 會將指令指標和偵錯內容的時間向前移至目前反白顯示的函式。 只有當您正在使用 IntelliTrace 偵錯時,才能使用這個命令。 [逐步執行] 和 [返回呼叫位置] 會朝相反的方向移動。

  • [移至上一個呼叫或 IntelliTrace 事件] 會將指令指標和偵錯內容的時間向後移至上一個呼叫或事件。 如果您正在即時偵錯中工作,這個命令就會讓您開始使用 IntelliTrace 偵錯。

  • [移至下一個呼叫或 IntelliTrace 事件] 會將指令指標和偵錯內容的時間向前移至存在 IntelliTrace 資料的下一個呼叫或事件。 只有當您正在使用 IntelliTrace 偵錯時,才能使用這個命令。

  • [移至即時模式] 會讓您返回即時偵錯中開始使用 IntelliTrace 偵錯的時間點。

  • [在此設定偵錯工具內容] 會出現在目前呼叫堆疊的每個框架上。 按一下即可將偵錯內容設定為它所在的呼叫框架。

除了 [設定偵錯工具內容] 以外,您也可以從 [IntelliTrace] 功能表 (以巢狀方式位於 [偵錯] 功能表底下) 或 [IntelliTrace] 工具列 (如果您選擇要顯示它的話) 存取這些圖示。 [設定偵錯工具內容] 只會出現在巡覽邊中。

搜尋 IntelliTrace 歷程

啟用 [IntelliTrace 事件和呼叫資訊] 時,IntelliTrace 可讓您搜尋呼叫的任何已記錄執行個體。 當您找到感興趣的執行個體時,就可以將 IntelliTrace 內容同步處理至該呼叫,然後使用 IntelliTrace 視窗和一般偵錯工具視窗來觀察應用程式在該呼叫執行個體期間的狀態。

有兩種方式可搜尋呼叫的執行個體。 第一種方式是按一下發出呼叫的原始程式碼行。 另一種方式是在所呼叫的方法或函式主體內部按一下滑鼠。

若要尋找呼叫的執行個體

  1. 在原始程式碼視窗中,

    • 以滑鼠右鍵按一下發出呼叫的程式碼行,然後按一下 [在 IntelliTrace 中搜尋這一行],或者

    • 在方法或函式主體內部按一下滑鼠右鍵,然後按一下 [在 IntelliTrace 中搜尋這個方法]。

    搜尋結果會出現在來源視窗頂端的水平邊中,如下圖所示。 搜尋結果會指出搜尋作業在 IntelliTrace 中找到多少個執行個體。

  2. 在搜尋結果邊中,按一下 [移至下一個結果]、[移至最後一個結果]、[移至上一個結果] 或 [移至第一個結果],藉以巡覽結果。

    當您在搜尋結果邊中巡覽至某個呼叫執行個體時,[IntelliTrace] 視窗的 [呼叫] 檢視就會自動同步處理至該呼叫執行個體。

在搜尋功能上有一些您應該要知道的限制:

  • 除非是在 Visual Studio 中開啟包含該方法的專案檔,否則 [在 IntelliTrace 中搜尋這個方法] 沒有作用。

  • 如果該程式碼行是方法的結束,[在 IntelliTrace 中搜尋這一行] 就無法傳回準確的結果。

請參閱

工作

HOW TO:啟用或停用巡覽邊

概念

收集 IntelliTrace 資訊

使用 IntelliTrace 加快程式碼偵錯速度

使用 IntelliTrace 偵錯無法重現的錯誤