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 操作将执行的子操作。 |