KDHELP64 结构 (dbghelp.h)
内核调试程序用来跟踪线程内核堆栈中的用户模式回调的信息。
语法
typedef struct _KDHELP64 {
DWORD64 Thread;
DWORD ThCallbackStack;
DWORD ThCallbackBStore;
DWORD NextCallback;
DWORD FramePointer;
DWORD64 KiCallUserMode;
DWORD64 KeUserCallbackDispatcher;
DWORD64 SystemRangeStart;
DWORD64 KiUserExceptionDispatcher;
DWORD64 StackBase;
DWORD64 StackLimit;
DWORD BuildVersion;
DWORD RetpolineStubFunctionTableSize;
DWORD64 RetpolineStubFunctionTable;
DWORD RetpolineStubOffset;
DWORD RetpolineStubSize;
DWORD64 Reserved0[2];
} KDHELP64, *PKDHELP64;
成员
Thread
内核线程对象的地址,如WAIT_STATE_CHANGE数据包中提供。
ThCallbackStack
线程对象中指向指向内核堆栈中当前回调帧的指针的偏移量。
ThCallbackBStore
Intel Itanium: 线程对象中指向指向内核堆栈中当前回调后备存储帧的指针的偏移量。
NextCallback
下一个回调帧的地址。
FramePointer
保存的帧指针的地址(如果适用)。
KiCallUserMode
调用用户模式的内核函数的地址。
KeUserCallbackDispatcher
用户模式调度程序函数的地址。
SystemRangeStart
最低内核模式地址。
KiUserExceptionDispatcher
用户模式异常调度程序函数的地址。
DbgHelp 6.1 及更早版本: 不支持此成员。
StackBase
堆栈基的地址。
StackLimit
堆栈限制。
BuildVersion
TBD
RetpolineStubFunctionTableSize
TBD
RetpolineStubFunctionTable
TBD
RetpolineStubOffset
TBD
RetpolineStubSize
TBD
Reserved0[2]
此成员保留供操作系统使用。
注解
此结构取代 KDHELP 结构。 有关详细信息,请参阅 更新的平台支持。 KDHELP 在 Dbghelp.h 中定义如下。
#if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
#define KDHELP KDHELP64
#define PKDHELP PKDHELP64
#else
typedef struct _KDHELP {
DWORD Thread;
DWORD ThCallbackStack;
DWORD NextCallback;
DWORD FramePointer;
DWORD KiCallUserMode;
DWORD KeUserCallbackDispatcher;
DWORD SystemRangeStart;
DWORD ThCallbackBStore;
DWORD KiUserExceptionDispatcher;
DWORD StackBase;
DWORD StackLimit;
DWORD Reserved[5];
} KDHELP, *PKDHELP;
#endif
要求
要求 | 值 |
---|---|
Header | dbghelp.h |
可再发行组件 | DbgHelp.dll 5.1 或更高版本 |