来自 !thread? 的 windbg 输出?
windbg output from !thread?
运行 windbg 进行完整内存转储。 !process 命令生成线程信息(见下文)。 THREAD 行后面经常跟有多个类似事件的东西,例如 "fffffa800a0c0060 SynchronizationTimer"。它们代表什么?它们是线程拥有的对象吗?或者正在等待?
THREAD fffffa8005718b50 Cid 16c0.1660 Teb: 00000000fffd8000 Win32Thread: 0000000000000000 WAIT: (UserRequest) UserMode Alertable
fffffa800a0c0060 SynchronizationTimer
fffffa800a7c1060 SynchronizationTimer
<etc...>
fffffa8007a9f4e0 SynchronizationEvent
fffffa800ae48b20 SynchronizationTimer
Not impersonating
DeviceMap fffff8a01480f1e0
线程并不真正拥有对象,所以必须是后者。
文档没有说明这一点,但是在例如此处提到了它:How can I work out what events are being waited for with WinDBG in a kernel debug session
运行 windbg 进行完整内存转储。 !process 命令生成线程信息(见下文)。 THREAD 行后面经常跟有多个类似事件的东西,例如 "fffffa800a0c0060 SynchronizationTimer"。它们代表什么?它们是线程拥有的对象吗?或者正在等待?
THREAD fffffa8005718b50 Cid 16c0.1660 Teb: 00000000fffd8000 Win32Thread: 0000000000000000 WAIT: (UserRequest) UserMode Alertable
fffffa800a0c0060 SynchronizationTimer
fffffa800a7c1060 SynchronizationTimer
<etc...>
fffffa8007a9f4e0 SynchronizationEvent
fffffa800ae48b20 SynchronizationTimer
Not impersonating
DeviceMap fffff8a01480f1e0
线程并不真正拥有对象,所以必须是后者。
文档没有说明这一点,但是在例如此处提到了它:How can I work out what events are being waited for with WinDBG in a kernel debug session