Thread¶
- final class ntoseye.Thread¶
One Windows thread, identified in a debugger by its ETHREAD address.
- backtrace(*, limit: int = 64) list[Frame]¶
Recover the stack of this thread from live registers or its parked context. If the processor of the thread is halted in the Windows hypervisor, the unwind starts from the VTL0 state that the hypervisor saved, where NT stopped.
- decode_teb(address: int | str | Process | Thread | Module | Driver | Device | Heap | None = None) Teb¶
Decode a thread environment block.
If you do not give an address, the command uses the teb pseudo-register of the current thread. On a user-mode minidump it uses the TEB of the selected thread (~
s), and the layouts of the dump’s ntdll.
- property info: ThreadInfo¶
The
ThreadInforecord of this handle: its properties as one value.
- inspect() ThreadDetail¶
Show a Windows thread and, optionally, its kernel stack.
You can also use the legacy
thread <tid> k|r [count]forms. A numeric flags value selects the detail and stack output, and count sets the maximum number of stack frames (32 by default, or 16 fork). The command shows-for a field that is not available. If the vCPU of a running thread is halted in the Windows hypervisor (VBS), the command shows the thread from the VTL0 state that the hypervisor saved, and.threadselects the thread in the same way. While the target runs, the command shows the thread but does not select it, and a thread that runs on a processor has no stack.
- property kernel_stack: int | None¶
_KTHREAD.KernelStack, the saved stack pointer of a thread that is not running.
- last_error() LastError¶
Show the last Win32 error value and the last NT status value of the current thread.
- property tid: int | None¶
The thread ID, or
Noneif the thread has no ID (for example, an idle thread).
- trap_frame() KtrapFrame¶
Decode the saved
_KTRAP_FRAME(!trap).