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 寄存器(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 函数写入 Model-Specific 寄存器(MSR)。
WritePhysical

WritePhysical 函数写入物理内存。
WritePhysicalWithFlags

WritePhysicalWithFlags 函数写入物理内存。
WritePointer

WritePointer 函数将指针写入目标。

回调函数

 
PSYM_DUMP_FIELD_CALLBACK

IG_DUMP_SYMBOL_INFO Ioctl 操作期间,调试器引擎调用PSYM_DUMP_FIELD_CALLBACK回调函数,其中包含有关指定符号中的成员的信息。
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) 函数返回表达式的值。 表达式是使用当前表达式计算器计算的,可以包含别名。
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) 函数检索正在调试的进程的堆栈跟踪。 返回 StackFrames 指向的缓冲区中读取的帧数。
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时,IpvData 应包含WDBGEXTS_THREAD_OS_INFO结构的实例。

枚举

 
EXT_TDOP

EXT_TDOP枚举用于EXT_TYPED_DATA结构的 Operation 成员,以指定DEBUG_REQUEST_EXT_TYPED_DATA_ANSI请求操作将执行的子操作。