共用方式為


時間移動偵錯版本資訊

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

本主題提供時間移動偵錯新功能的相關信息。

1.11.429

這項 TTD 更新包含一些錯誤修正,以及一些內部變更以改善可靠性。

注意:1.11.410 引進了 Intel/AMD LODSD 指令模擬中的回歸。 此問題的修正將於下一個版本推出。

修正:

  • 改善封包讀取健全性和其他錯誤變更,以改善可靠性。
  • 修正模擬 AVX VBROADCAST[I/F]128 指令中的回歸。
  • 修正較新 Windows 組建中 ARM64 上的例外狀況記錄存取。

1.11.410

改善的輔助功能:進度 UI 現在會隨著文字大小變更正確調整。

@$cursession.TTD.Calls()調試程式中的 命令現在支援符合大量函式的通配符。 現在可以查詢大量的函式 (@$cursession.TTD.Calls("kernel32!*"))。

自動化:新的 -onMonitorReadyEvent 命令行選項指出錄製監視器 (-monitor switch) 何時準備好錄製新進程。

修正:

  • 在初始化錄製器時修正某些競爭條件。
  • 修正我們記錄 syscalls 的方式,讓斷點正常運作。
  • 修正與模組選擇性錄製相關的多個問題。

ARM64 修正:

  • 已修正在一般 ARM64v8.0 層級 CPU 上防止 TTD 錄製的錯誤。
  • 已改善嘗試在 ARM64 上使用 x86 或 x64 進程的追蹤時的傳訊。

AMD/Intel 修正程式(包括 Google 回報的一些問題):

  • 修正了 LODS 的不正確模擬:不要將未使用的 RAX 位歸零,而是已正確保留。
  • 修正了 x86/x64 程式中「pop ax」指令的模擬,錯誤地將完整緩存器上層位零(例如“pop ax”清除了 rax 的上層位)。
  • XGETBV 指令的直接模擬(更快)。
  • 所有AVX512 SIMD移動的直接模擬(更快)。

1.11.316

已修正在錄製長時間不中斷數據繁重指令序列的程式時,造成偶爾當機的回歸。

ARM64 修正:

  • 現在支援在已啟用 PAC 功能的 ARM64 程式中錄製。
  • 已修正 ANDS 和 TST 指示,這些指示無法清除攜帶和溢位旗標。

AMD/Intel 修正:

  • 修正了 TTD 誤模擬 「xchg r8,rax」 和 「xchg r8w, ax」 作為 NOP 的錯誤。

1.11.304

TTD 現在會實作並公開發佈 API,以從即時錄製程式內控制錄製器。 您可以在 GitHub 中找到文件和範例。

TTD 現在可以使用新 -recordMode 開關將錄製插入關閉。 根據預設,TTD 會使用 -recordMode Automatic ,這會導致記錄所有線程。 如果 -recordMode Manual 已指定,則 TTD 會插入目標進程,但直到告知透過 API 呼叫執行這項動作,才會記錄任何專案。

錄製現在可以使用 參數限制為一組特定的模組 -module 。 在某些情況下,這可能會導致錄製速度大幅加快,追蹤檔案較小。 可以指定多個 -module 參數。

比對記錄和重新執行元件現在會包含在散發中。 如果調試程式與命令行錄製器之間不相容,或重新執行 Bug,則重新執行元件可以複製到調試程式安裝,作為因應措施,直到釋放新的調試程序為止。

您可以執行下列動作,在 Powershell 中找到已安裝的檔案位置:

ls (Get-AppxPackage | where Name -eq 'Microsoft.TimeTravelDebugging').InstallLocation

已加入

  • 新增 -recordmode 參數以啟用插入而不自動錄製 (1.11.296)
  • 新增 -module 參數並使用 來建立 SR 設定 (1.11.291)
  • 將行程 API 紀錄到資料模型的項目自訂資料 (1.11.286)
  • 新增TTDLiveRecorder.dll,並與TTDRecordCPU.dll連接起來(1.11.283)
  • 將重新執行元件新增至 MSIX 和修正 SDK 查閱 (1.11.265)

已變更

none

已修正

  • 解決 nlohmann JSON 串行化程式中的 Bug ,其用於某些內部工具 (1.11.281)
  • 調整字串對齊以避免罕見的 CRT 錯誤 (1.11.279)
    • 在 VS 和 OS 程式代碼基底中回報並修正。
  • 沃森墜機報告的幾個小修正 (1.11.276)
  • 修正在某些情況下可能導致追蹤檔案損毀的回歸 (1.11.264)

已知問題

  • 在 ARM64 上,編譯程式無法尾端呼叫許多高頻率函式,在極端情況下,可能會導致錄製器耗盡堆棧空間和當機。

1.11.261

此版本中值得注意的變更包括:

  • [ARM64]修正當目的地快取器做為來源時,、SQXTN2SQXTUN2UQXTN2XTN2TRN1 指令的行為SXTL
  • [ARM64]已修正導致調試程序顯示 SIMD 快取器的問題,其較低的 64 位重複到高 64 位。
  • [AMD64]AMD Zen4 處理器的 AVX512 模擬修正(緩存器已損毀)。

已變更

  • 特別針對模擬器實作新版本系統。 (1.11.260)

已修正

  • 修正錯誤 ARM64 指示,其中目的地快取器也會作為來源使用。 (1.11.261)
  • 修正 Zen4 因應措施,以直接返回模擬器。 (1.11.222)

1.11.202

此版本修正了錄製服務或透過交換器啟動 -monitor 監視程式時遇到的許多問題。 它也會從產品中移除ARM32錄製支援。

已變更

  • 將 TTD 元件連結至 UCRT 做為 DLL,以減少二進位大小。 (1.11.191)

已修正

  • 修正服務的錄製。 (1.11.193)
  • 修正使用 -monitor 時的幾個問題。 (1.11.189)
  • 修正在 x64 上執行後援時保留非揮發性的函式堆疊框架 (1.11.188)
  • 重新開啟 TTD 的輸出緩衝處理 (1.11.187)
  • 修正 ProcessMonitorServer 中 GPO 句柄的處理方式 (1.11.179)

已移除

  • 從存放函式庫移除 ARM32 錄製程式代碼 (1.11.198)

1.11.173

此版本可從 .out 檔案擷取錯誤訊息,並將其列印到主控台,藉以提升特定錯誤訊息的可見度。 它也修正了追蹤重新執行期間罕見的當機。

已變更

  • 從 .out 檔案擷取和列印錯誤訊息 (1.11.173)

已修正

  • 修正從個別進程讀取 .out 檔案時的檔案衝突。 (1.11.171)
  • 修正追蹤重新執行期間的罕見當機。 (1.11.166)

1.11.163

此版本新增了在 x64 計算機上錄製 x86 程序的支援。

已變更

  • 修正 x86 錄製與 x64 TTD 安裝 (1.11.163)

已修正

  • EULA 清除 (1.11.161)

1.11.159

此版本是命令行錄製器的第一個公開版本。 除了啟用命令行錄製器公開發行所需的數項變更之外,此版本也包含一些錯誤修正,包括 CPU 模擬器的幾個修正程式。

新的 -timestampFileName 參數會啟用以時間戳為基礎的 .run 檔案產生。 當您錄製同一進程的許多實例,而且想要將錄製啟動時間降到最低時,這會很有用。

已變更

  • 根據使用追蹤器的執行時間選擇預設插入模式 (1.11.156)
  • 新增參數以啟用時間戳型 .run 檔案產生 (1.11.155)
  • 將 EULA 和 新增 -accepteula 至 TTD (1.11.154)
  • 將ProcLaunchMon.sys新增至 MSIX (1.11.153)
  • 建立個別的 MSIX 和 MSIXBUNDLE (1.11.152)
  • 修正測試以 Clang 建置的 TTD 時所出現的問題。 (1.11.146)
  • TTDAnalyze 的 Clang 修正 (1.11.144)

已修正

  • 檢閱 appinstaller / 公開版本的意見反應 (1.11.159)
  • RC 意見反應 (1.11.157)
  • 將 RegisterInfo 初始化為指向 Sink,以避免回收零快取器。 (1.11.149)
  • 使用立即修正 TST 指示,並增強單元測試以涵蓋它等等。 (1.11.148)
  • 合併受保護的進程決策並停用受保護的進程使用 (1.11.147)

1.11.138

已變更

  • 建立錄製器 MSIX (1.11.138)
  • 修正所有問題,讓 Clang 可以建置 TTD。 (1.11.137)
  • 引進 -monitor X 作為在啟動時記錄程式的方式 (1.11.116)

已修正

  • 修正 “CMP ZR” ARM64 模擬 (1.11.128)
  • 修正 AMD Zen4 處理器上的 AVX512 模擬 (1.11.127)
  • 修正 TTD 用來尋找特定 CPU 的檔案的機制 (1.11.121)
  • 修正 x86 TTD 回歸 (TTDRecordCPU.dll無法載入) (1.11.110)
  • 修正在 ARM64 上返回原生路徑,以不要回收 X28 (1.11.109)

另請參閱

時間移動偵錯 – 概觀

時間移動偵錯 – 命令行錄製器