wdbgexts.h 标头

调试器使用此标头。 有关详细信息,请参阅:

wdbgexts.h 包含以下编程接口:

函数

 
GetCurrentProcessAddr

GetCurrentProcessAddr 函数返回描述当前进程的系统数据的位置。
GetCurrentProcessHandle

GetCurrentProcessHandle 函数返回当前进程的系统句柄。
GetCurrentThreadAddr

GetCurrentThreadAddr 函数返回描述当前线程的系统数据的位置。
GetDebuggerCacheSize

GetDebuggerCacheSize 函数返回调试器用来保存从目标获取的数据的缓存大小。
GetDebuggerData

GetDebuggerData 函数检索存储在数据块中的信息。
GetExpressionEx

GetExpressionEx 函数计算表达式。 表达式是使用 MASM 计算器计算的,可以包含别名。
GetFieldData

GetFieldData 函数返回结构中成员的值。
GetFieldOffset

GetFieldOffset 函数返回成员从结构开头的偏移量。
GetFieldValue

GetFieldValue 宏是围绕 GetFieldData 函数的精简包装器。 它是为了方便读取结构中成员的值而提供的。
GetInputLine

GetInputLine 函数从调试器请求输入字符串。
GetKdContext

GetKdContext 函数返回结构 ppi 指向的处理器总数和当前处理器数。
GetPebAddress

GetPebAddress 函数返回系统进程 (PEB) 的进程环境块的地址。
GetSetSympath

GetSetSympath 函数可用于获取或设置符号搜索路径。
GetShortField

GetShortField 函数读取结构中成员的值(如果其大小小于或等于 8 个字节),或初始化结构以便以后可以读取它。
GetTebAddress

GetTebAddress 函数返回当前操作系统线程的线程环境块 (TEB) 的地址。
GetTypeSize

GetTypeSize 函数返回指定类型实例的目标内存中的大小。
IsPtr64

IsPtr64 函数确定目标是否使用 64 位指针。
ListType

ListType 函数为链接列表中的每个元素调用指定的回调函数。
ReadControlSpace

ReadControlSpace 函数将特定于处理器的控制空间读取到 buf 指向的数组中。
ReadControlSpace64

ReadControlSpace64 函数将特定于处理器的控制空间读取到 buf 指向的数组中。
ReadIoSpace

ReadIoSpace 函数从系统 I/O 位置读取。
ReadIoSpace64

ReadIoSpace64 函数从系统 I/O 位置读取。
ReadIoSpaceEx

ReadIoSpaceEx 函数是 ReadIoSpace 的扩展版本。
ReadIoSpaceEx64

ReadIoSpaceEx64 函数是 ReadIoSpace64 的扩展版本。
ReadListEntry

ReadListEntry 函数从目标的内存中读取双链接列表条目。
ReadMsr

ReadMsr 函数读取 Model-Specific Register (MSR) 的内容。
ReadPhysical

ReadPhysical 函数从物理内存中读取。
ReadPhysicalWithFlags

ReadPhysicalWithFlags 函数从物理内存中读取。
ReadPointer

ReadPointer 函数从目标读取指针。
ReadPtr

ReadPtr 函数从目标读取指针。 应使用 ReadPointer 而不是此函数,因为 ReadPointer 的返回值与 WdbgExts API 的其余部分更一致。
ReloadSymbols

ReloadSymbols 函数从调试器中删除符号信息,以便可以根据需要重新加载它。 此函数的行为方式与调试器命令 .reload 相同。
SearchMemory

SearchMemory 函数在目标的虚拟内存中搜索指定的字节模式。
SetThreadForOperation

SetThreadForOperation 函数设置要用于下一个 StackTrace 调用的线程。
SetThreadForOperation64

SetThreadForOperation64 函数设置要用于下一个 StackTrace 调用的线程。
TranslateVirtualToPhysical

TranslateVirtualToPhysical 函数将虚拟内存地址转换为物理内存地址。
WriteControlSpace

WriteControlSpace 函数写入当前目标的特定于处理器的控制空间。
WriteIoSpace

WriteIoSpace 函数写入系统 I/O 位置。
WriteIoSpace64

WriteIoSpace64 函数写入系统 I/O 位置。
WriteIoSpaceEx

WriteIoSpaceEx 函数是 WriteIoSpace 的扩展版本。
WriteIoSpaceEx64

WriteIoSpaceEx64 函数是 WriteIoSpace64 的扩展版本。
WriteMsr

WriteMsr 函数 (MSR) 写入 Model-Specific Register。
WritePhysical

WritePhysical 函数写入物理内存。
WritePhysicalWithFlags

WritePhysicalWithFlags 函数写入物理内存。
WritePointer

WritePointer 函数写入指向目标的指针。

回调函数

 
PSYM_DUMP_FIELD_CALLBACK

PSYM_DUMP_FIELD_CALLBACK回调函数由调试器引擎在IG_DUMP_SYMBOL_INFO Ioctl 操作期间调用,其中包含有关指定符号中成员的信息。
PWINDBG_CHECK_CONTROL_C

PWINDBG_CHECK_CONTROL_C (CheckControlC) 函数检查用户是否按 Ctrl+C。 在所有循环中使用PWINDBG_CHECK_CONTROL_C,以允许用户按 Ctrl+C 结束长进程。
PWINDBG_CHECK_VERSION

PWINDBG_CHECK_VERSION (CheckVersion) 回调函数验证扩展模块版本是否与调试器版本匹配,并在不匹配时输出警告消息。
PWINDBG_DISASM

PWINDBG_DISASM (Disasm) 函数反汇编 lpOffset 指向的指令,并将可打印的字符串放入 lpBuffer 中。
PWINDBG_EXTENSION_API_VERSION

PWINDBG_EXTENSION_API_VERSION (ExtensionApiVersion) 回调函数返回有关扩展 DLL 的版本信息。
PWINDBG_EXTENSION_DLL_INIT

PWINDBG_EXTENSION_DLL_INIT ( WinDbgExtensionDllInit) 回调函数用于加载和初始化扩展模块。
PWINDBG_GET_EXPRESSION

PWINDBG_GET_EXPRESSION (GetExpression) 函数返回 expression 的值。 表达式是使用当前表达式计算器计算的,并且可以包含别名。
PWINDBG_GET_SYMBOL

PWINDBG_GET_SYMBOL (GetSymbol) 函数查找最接近地址的符号。
PWINDBG_GET_THREAD_CONTEXT_ROUTINE

PWINDBG_GET_THREAD_CONTEXT_ROUTINE (GetContext) 函数实现类似于 Microsoft Win32 GetThreadContext 例程的功能。 它返回正在调试的进程上下文。
PWINDBG_IOCTL_ROUTINE

PWINDBG_IOCTL_ROUTINE (Ioctl) 函数执行各种不同的操作。 其大部分功能反映了 wdbgexts.h 中其他函数的功能。
PWINDBG_OUTPUT_ROUTINE

回调函数实现将格式化字符串打印到调试器命令窗口的功能。
PWINDBG_READ_PROCESS_MEMORY_ROUTINE

PWINDBG_READ_PROCESS_MEMORY_ROUTINE (ReadMemory) 函数的工作方式类似于 Win32 ReadProcessMemory 函数。 它从正在调试的进程读取内存。 要读取的整个区域必须可访问,否则操作将失败。
PWINDBG_SET_THREAD_CONTEXT_ROUTINE

PWINDBG_SET_THREAD_CONTEXT_ROUTINE (SetContext) 函数类似于 Win32 SetThreadContext 例程。 它设置正在调试的进程上下文。
PWINDBG_STACKTRACE_ROUTINE

PWINDBG_STACKTRACE_ROUTINE (StackTrace) 函数检索所调试进程的堆栈跟踪。 返回读取到 StackFrame 指向的缓冲区的帧数。
PWINDBG_WRITE_PROCESS_MEMORY_ROUTINE

PWINDBG_WRITE_PROCESS_MEMORY_ROUTINE (WriteMemory) 函数的工作方式类似于 Win32 WriteProcessMemory 例程。 它将内存写入正在调试的进程。 要写入的整个区域必须可访问,否则操作将失败。

结构

 
BUSDATA

IG_GET_BUS_DATA Ioctl 操作从系统总线读取数据,IG_SET_BUS_DATA Ioctl 操作将数据写入系统总线。
DBGKD_GET_VERSION64

IG_GET_KERNEL_VERSION Ioctl 操作接收与目标的操作系统版本相关的信息。
DEBUG_TYPED_DATA

DEBUG_TYPED_DATA 结构描述目标内存中的类型化数据。
EXT_TYPED_DATA

EXT_TYPED_DATA 结构传递给 DEBUG_REQUEST_EXT_TYPED_DATA_ANSI 请求操作并从中返回。 它包含操作的输入和输出参数,以及指定要执行的特定子操作。
FIELD_INFO

IG_DUMP_SYMBOL_INFOIoctl 操作使用 FIELD_INFO 结构来提供有关 结构中成员的信息。
POINTER_SEARCH_PHYSICAL

IG_POINTER_SEARCH_PHYSICAL Ioctl 操作在目标的物理内存中搜索位于指定范围内的指针。
READCONTROLSPACE

了解 ReadControlSpace 函数如何将处理器特定的控制空间读入 buf 指向的数组中。
READCONTROLSPACE64

了解 ReadControlSpace64 函数如何将处理器特定的控制空间读取到 buf 指向的数组中。
SEARCHMEMORY

了解 SearchMemory 函数如何在目标虚拟内存中搜索指定的字节模式。
SYM_DUMP_PARAM

IG_DUMP_SYMBOL_INFO Ioctl 操作提供有关符号类型的信息。
WDBGEXTS_THREAD_OS_INFO

IG_GET_THREAD_OS_INFO Ioctl 操作返回有关目标中操作系统线程的信息。 在 IoctlType 设置为 IG_GET_THREAD_OS_INFO 的情况下调用 Ioctl 时,IpvData 应包含 WDBGEXTS_THREAD_OS_INFO 结构的实例。

枚举

 
EXT_TDOP

EXT_TDOP 枚举在 EXT_TYPED_DATA 结构的 Operation 成员中用于指定DEBUG_REQUEST_EXT_TYPED_DATA_ANSI Request 操作将执行的子操作。