時間移動偵錯 - 記錄追蹤
本節說明如何記錄時間移動偵錯 (TTD) 追蹤。 有兩種方式可以記錄 WinDbg 中的追蹤、 啟動可執行檔(進階) 和 附加至進程。
啟動可執行檔案 (進階)
若要啟動可執行檔並記錄 TTD 追蹤,請遵循下列步驟。
在 WinDbg 中,選取 [檔案>開始偵錯>啟動可執行檔] [進階]。
輸入您想要記錄的使用者模式可執行檔案路徑,或選取 [瀏覽 ] 以瀏覽至可執行檔。 如需在 WinDbg 中使用 [啟動可執行檔] 功能表的詳細資訊,請參閱 WinDbg - 啟動使用者模式會話。
核取 [ 具有時間移動偵 錯的記錄] 方塊,以在啟動可執行檔時記錄追蹤。
如果您選取 [設定] 和 [ 記錄 ],您將能夠設定追蹤檔案的位置。
若要將錄製限制為特定模組,請檢查「記錄執行子集」,然後在模組名稱中輸入 。 例如,如果您只想要記錄notepad.exe的執行,請在文字框中輸入 「notepad.exe」。 如果您想要記錄notepad.exe和kernelbase.dll的執行,請在文字框中輸入 「notepad.exe,kernelbase.dll」。。
選取 [ 確定 ] 以啟動可執行檔並開始錄製。
錄製對話框隨即出現,表示正在記錄追蹤。
如需錄製的相關信息,請參閱 如何錄製 。
連結至處理序
若要附加至進程並記錄 TTD 追蹤,請遵循下列步驟。
在 WinDbg 中,選取 [檔案>開始偵錯>附加至進程]。
選取您想要追蹤的使用者模式程式。 如需在 WinDbg 中使用 [附加至進程 ] 功能表的相關信息,請參閱 WinDbg - 啟動使用者模式會話。
核取 [ 使用時間移動 偵錯的記錄處理程式] 方塊,以在可執行文件啟動時建立追蹤。
選取 [ 附加 ] 以開始錄製。
錄製對話框隨即出現,表示正在記錄追蹤。
如需錄製的相關信息,請參閱 如何錄製 。
如何記錄
正在記錄進程,因此您需要在何處造成您想要偵錯的問題。 您可以開啟有問題的檔案,或選取應用程式中的特定按鈕,造成感興趣的事件發生。
顯示錄製對話框時,您可以:
- 停止並偵 錯 - 選擇這會停止錄製、建立追蹤檔案並開啟追蹤檔案,以便開始偵錯。
- 取消 - 選擇這會停止錄製並建立追蹤檔案。 您可以在稍後開啟追蹤檔案。
錄製完成後,請關閉您的應用程式,或按 [ 停止並偵錯]。
注意
[停止] 和 [偵錯] 和 [取消] 都會終止相關聯的進程。
當記錄的應用程式終止時,追蹤檔案將會關閉並寫出至磁碟。 如果您的程式也當機,就會發生這種情況。
開啟追蹤檔案時,調試程式會自動為追蹤檔案編製索引。 編製索引可讓您更準確且更快速地查閱記憶體值。 對於較大的追蹤檔案,此索引編製程式需要較長的時間。
... 00007ffc`61f789d4 c3 ret 0:000> !index Indexed 1/1 keyframes Successfully created the index in 96ms.
注意
主要畫面格是用於編製索引的追蹤位置。 主要畫面格會自動產生。 較大的追蹤將包含更多主要畫面格。 當追蹤編製索引時,就會顯示主要畫面格的數目。
此時,您會在追蹤檔案的開頭,並準備好及時向前和向後移動。
提示
使用斷點是一種常見方法,會在感興趣的某個事件暫停程式代碼執行。 TTD 獨一無二,您可以設定斷點並及時返回,直到記錄追蹤之後叫用該斷點為止。 在發生問題之後檢查進程狀態的能力,若要判斷斷點的最佳位置,可啟用其他偵錯工作流程。 如需過去使用斷點的範例,請參閱 時間移動偵錯 - 範例應用程式逐步解說。
後續步驟
現在您已記錄 TTD 追蹤,您可以重新執行追蹤回溯或處理追蹤檔案,例如與同事共用。 如需詳細資訊,請參閱下列主題。