(dbghelp.h) 的 KDHELP 结构

内核调试程序用来跟踪线程内核堆栈中的用户模式回调的信息。

语法

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;

成员

Thread

内核线程对象的地址,如WAIT_STATE_CHANGE数据包中提供。

ThCallbackStack

线程对象中指向指向内核堆栈中当前回调帧的指针的偏移量。

NextCallback

下一个回调帧的地址。

FramePointer

保存的帧指针的地址(如果适用)。

KiCallUserMode

调用用户模式的内核函数的地址。

KeUserCallbackDispatcher

用户模式调度程序函数的地址。

SystemRangeStart

最低内核模式地址。

ThCallbackBStore

Intel Itanium: 线程对象中指向指向内核堆栈中当前回调支持存储帧的指针的偏移量。

KiUserExceptionDispatcher

用户模式异常调度程序函数的地址。

DbgHelp 6.1 及更早版本: 不支持此成员。

StackBase

堆栈基的地址。

StackLimit

堆栈限制。

Reserved[5]

此成员保留供操作系统使用。

注解

此结构取代 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 或更高版本

另请参阅

STACKFRAME64