共用方式為


時間移動偵錯 - 記錄追蹤

具有時鐘的時間移動偵錯標誌。

本節說明如何記錄時間移動偵錯 (TTD) 追蹤。 有兩種方式可以記錄 WinDbg 中的追蹤、 啟動可執行檔(進階)附加至進程

啟動可執行檔案 (進階)

若要啟動可執行檔並記錄 TTD 追蹤,請遵循下列步驟。

  1. 在 WinDbg 中,選取 [檔案>開始偵錯>啟動可執行檔] [進階]。

  2. 輸入您想要記錄的使用者模式可執行檔案路徑,或選取 [瀏覽 ] 以瀏覽至可執行檔。 如需在 WinDbg 中使用 [啟動可執行檔] 功能表的詳細資訊,請參閱 WinDbg - 啟動使用者模式會話

  3. 核取 [ 具有時間移動偵 錯的記錄] 方塊,以在啟動可執行檔時記錄追蹤。

    [啟動可執行檔] 畫面中 [開始錄製] 複選框的 WinDbg 螢幕快照。

  4. 如果您選取 [設定] 和 [ 記錄 ],您將能夠設定追蹤檔案的位置。

    [設定錄製] 對話框的螢幕快照,其中顯示 [流覽] 按鈕和檔案路徑。

  5. 若要將錄製限制為特定模組,請檢查「記錄執行子集」,然後在模組名稱中輸入 。 例如,如果您只想要記錄notepad.exe的執行,請在文字框中輸入 「notepad.exe」。 如果您想要記錄notepad.exe和kernelbase.dll的執行,請在文字框中輸入 「notepad.exe,kernelbase.dll」。。

    [設定錄製] 對話框的螢幕快照,其中已核取執行子集和模塊清單文本框。

  6. 選取 [ 確定 ] 以啟動可執行檔並開始錄製。

  7. 錄製對話框隨即出現,表示正在記錄追蹤。

    [停止] 和 [偵錯] 和 [取消] 按鈕的 TTD 錄製快顯螢幕快照。

  8. 如需錄製的相關信息,請參閱 如何錄製

連結至處理序

若要附加至進程並記錄 TTD 追蹤,請遵循下列步驟。

  1. 在 WinDbg 中,選取 [檔案>開始偵錯>附加至進程]。

  2. 選取您想要追蹤的使用者模式程式。 如需在 WinDbg 中使用 [附加至進程 ] 功能表的相關信息,請參閱 WinDbg - 啟動使用者模式會話

    顯示 [附加至行程] 畫面中 [開始錄製] 複選框的 WinDbg 螢幕快照。

  3. 核取 [ 使用時間移動 偵錯的記錄處理程式] 方塊,以在可執行文件啟動時建立追蹤。

  4. 選取 [ 附加 ] 以開始錄製。

  5. 錄製對話框隨即出現,表示正在記錄追蹤。

    [停止] 和 [偵錯] 和 [取消] 選項的 TTD 錄製快顯螢幕快照。

  6. 如需錄製的相關信息,請參閱 如何錄製

如何記錄

  1. 正在記錄進程,因此您需要在何處造成您想要偵錯的問題。 您可以開啟有問題的檔案,或選取應用程式中的特定按鈕,造成感興趣的事件發生。

  2. 顯示錄製對話框時,您可以:

    • 停止並偵 錯 - 選擇這會停止錄製、建立追蹤檔案並開啟追蹤檔案,以便開始偵錯。
    • 取消 - 選擇這會停止錄製並建立追蹤檔案。 您可以在稍後開啟追蹤檔案。
  3. 錄製完成後,請關閉您的應用程式,或按 [ 停止並偵錯]。

    注意

    [停止] 和 [偵錯] 和 [取消] 都會終止相關聯的進程。

  4. 當記錄的應用程式終止時,追蹤檔案將會關閉並寫出至磁碟。 如果您的程式也當機,就會發生這種情況。

  5. 開啟追蹤檔案時,調試程式會自動為追蹤檔案編製索引。 編製索引可讓您更準確且更快速地查閱記憶體值。 對於較大的追蹤檔案,此索引編製程式需要較長的時間。

    ...
    00007ffc`61f789d4 c3              ret
    0:000> !index
    Indexed 1/1 keyframes
    Successfully created the index in 96ms.
    

    注意

    主要畫面格是用於編製索引的追蹤位置。 主要畫面格會自動產生。 較大的追蹤將包含更多主要畫面格。 當追蹤編製索引時,就會顯示主要畫面格的數目。

  6. 此時,您會在追蹤檔案的開頭,並準備好及時向前和向後移動。

    提示

    使用斷點是一種常見方法,會在感興趣的某個事件暫停程式代碼執行。 TTD 獨一無二,您可以設定斷點並及時返回,直到記錄追蹤之後叫用該斷點為止。 在發生問題之後檢查進程狀態的能力,若要判斷斷點的最佳位置,可啟用其他偵錯工作流程。 如需過去使用斷點的範例,請參閱 時間移動偵錯 - 範例應用程式逐步解說

後續步驟

現在您已記錄 TTD 追蹤,您可以重新執行追蹤回溯或處理追蹤檔案,例如與同事共用。 如需詳細資訊,請參閱下列主題。

時間移動偵錯 - 重新執行追蹤

時間移動偵錯 - 使用追蹤檔案

時間移動偵錯 - 疑難解答

時間移動偵錯 - 範例應用程式逐步解說

另請參閱

時間移動偵錯 - 概觀