You should ignore any values that do not correspond to the given object type, because they might be either incorrectly decoded by the debugger (because the wrong type or field is being used) or simply contain stale or invalid data from a previous allocation value. There is no defined correlation you can see between which fields apply to which object, other than by looking at the Windows kernel source code or the WDK header files’ comments. For convenience, Table 3-21 lists the dispatcher header flags and the objects to which they apply.
Flag
Applies To
Meaning
Timers
The expiration time is absolute, not relative.
Periodic Timers
Indicates whether coalescing should be used for this timer.
Coalescable Timers
Indicates whether or not the kernel dispatcher should continue attempting to shift the timer’s expiration time. When alignment is reached with the machine’s periodic interval, this eventually becomes FALSE.
Coalescable Timers
The maximum amount of tolerance (shifted as a power of two) that the timer can support when running outside of its expected periodicity.
Mutexes
The thread holding the mutex was terminated.
Gates
A priority boost should be applied to the woken thread when the gate is signaled.
Threads
CPU throttling has been enabled for this thread, such as when running under DFSS mode (Distributed Fair-Share Scheduler).
Threads
CPU cycle profiling has been enabled for this thread.
Threads
Hardware CPU performance counter monitoring/profiling has been enabled for this thread.
All objects
Size of the object divided by 4, to fit in a single byte.
Timers
Index into the timer handle table.
Timers
Index into the timer expiration table.
Timers
Set if the timer was inserted into the timer handle table.
Timers
Set if the timer has already expired.
Processes
Specifies whether the process is being debugged.
Thread
Hardware breakpoints are being used, so DR7 is active and should be sanitized during context operations.
Thread
Specifies whether the thread has a user-mode instrumentation callback (supported only on Windows for x64 processors).
Thread
This thread is a UMS Worker (scheduled) thread.
Thread
This thread is a UMS Scheduler (primary) thread.
Mutexes
The mutex was acquired during a DPC.
All objects
Used for locking an object during wait operations which need to modify its state or linkage; actually corresponds to bit 7 (0x80) of the
Apart from these flags, the
When the wait list head pointers are identical, there are either zero threads or one thread waiting on this object. Dumping a wait block for an object that is part of a multiple wait from a thread, or that multiple threads are waiting on, can yield the following:dt nt!_KWAIT_BLOCK 0xfffffa80'053cf628 +0x000 WaitListEntry : _LIST_ENTRY [ 0xfffffa80'02efe568 - 0xfffffa80'02803468 ] +0x010 Thread : 0xfffffa80'053cf520 _KTHREAD +0x018 Object : 0xfffffa80'02803460 +0x020 NextWaitBlock : 0xfffffa80'053cf628 _KWAIT_BLOCK +0x028 WaitKey : 0 +0x02a WaitType : 0x1 '' +0x02b BlockState : 0x2 '' +0x02c SpareLong : 8
If the wait list has more than one entry, you can execute the same command on the second pointer value in the
Keyed Events
Вильям Л Саймон , Вильям Саймон , Наталья Владимировна Макеева , Нора Робертс , Юрий Викторович Щербатых
Зарубежная компьютерная, околокомпьютерная литература / ОС и Сети, интернет / Короткие любовные романы / Психология / Прочая справочная литература / Образование и наука / Книги по IT / Словари и Энциклопедии