剧集

碎片整理工具 #186 - 时间旅行调试 - 高级

在这集 碎片整理工具中,Andrew Richards 由 JCAB (Juan Carlos Arevalo Baeza) 和 Windows 调试器团队的 Jordi Mola 加入,以演示 WinDbg 预览版 :时间旅行调试 (TTD)的新功能的一些更高级用法。

相关链接:

WinDbg 预览版 (从 Microsoft Store 下载)
时间旅行调试概述 (联机文档)
Windows 博客 时间旅行调试调试工具常见问题解答

Timeline:[00:00] 简介
[01:07] 运行脚本时,在 Chakra Core 中看到内存损坏崩溃。 难以调试!
[05:33] 录制时间旅行调试跟踪时,现在重现相同的崩溃
[07:06] 使用未优化代码查看 TTD 跟踪
[07:55] 使用 !events 命令列出跟踪中有趣的事件和异常并跳转到它们
[11:43] 找到损坏的内存,向后一步找出它来自何处。
[13:15] 使用 dx 命令标识包含错误值的内存位置,并设置数据断点(with ba)以查看之前写入该位置的人员。
[17:37] 越来越近了。 继续向后跟踪...
[19:29] 发现坏值来自哪里!
[21:08] 另一个用例:查找值不好的位置,并使用二进制搜索从那里跟踪它(使用 具有百分比值的 !tt 跳转到跟踪中的位置)
[22:09] 第二个演示:查看相同的崩溃,但使用优化的生产代码。
[25:09] 在向前或向后运行跟踪时,将命中异常。
[26:54] 若要提供有关 WinDbg 预览版的反馈,请使用反馈中心。