閱讀英文

共用方式為


時間移動偵錯 - 記錄追蹤

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

本節說明如何記錄時間旅行偵錯(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 追蹤,您可以重新執行追蹤回溯或處理追蹤檔案,例如與同事共用。 如需詳細資訊,請參閱這些主題。

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

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

時間移動偵錯 - 疑難解答

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

另請參閱

時間移動偵錯 - 概觀


其他資源