Process Explorer 具有 CPU 时间(低至毫秒)和 CPU 周期的列。对于 WinDbg,我知道该!runaway
命令!runaway 7
以及更多详细信息,但它仅显示 CPU 时间。
在用户模式崩溃转储中,CPU 周期是否也可用?
我试过的:
我看了看,
dt nt!_KTHREAD
发现它有一个 CycleTime 属性ntdll!_KTHREAD +0x000 Header : _DISPATCHER_HEADER +0x018 CycleTime : Uint8B
我试图在 a 中查询该属性
!for_each_thread
,但 WinDbg 响应它仅在内核模式下可用。
为什么我想要那些 CPU 周期?
我正在为 JetBrains dotTrace 进行培训。它有一个计算 CPU 周期的选项,我想解释一下这些周期的来源。上面的内核结构和 Process Explorer 可能就足够了,但是在用户模式转储中看到它的实时或死后状态会很棒。我用 WinDbg 解释了很多基础知识。