다음을 통해 공유


wdbgexts.h 헤더

이 헤더는 디버거에서 사용됩니다. 자세한 내용은 다음을 참조하세요.

wdbgexts.h에는 다음과 같은 프로그래밍 인터페이스가 포함되어 있습니다.

Functions

 
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 함수는 지정된 형식의 instance 대상 메모리의 크기를 반환합니다.
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 함수는 MSR(Model-Specific Register)의 내용을 읽습니다.
ReadPhysical

ReadPhysical 함수는 실제 메모리에서 읽습니다.
ReadPhysicalWithFlags

ReadPhysicalWithFlags 함수는 실제 메모리에서 읽습니다.
ReadPointer

ReadPointer 함수는 대상에서 포인터를 읽습니다.
ReadPtr

ReadPtr 함수는 대상에서 포인터를 읽습니다. ReadPointer의 반환 값이 WdbgExts API의 나머지 부분과 더 일치하기 때문에 이 함수 대신 ReadPointer를 사용해야 합니다.
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) 함수는 식 값을 반환합니다. 식은 현재 식 계산기를 사용하여 계산되며 별칭을 포함할 수 있습니다.
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

FIELD_INFO 구조체는 IG_DUMP_SYMBOL_INFOIoctl 작업에서 구조체의 멤버에 대한 정보를 제공하는 데 사용됩니다.
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 구조체의 instance 포함되어야 합니다.

열거형

 
EXT_TDOP

EXT_TDOP 열거형은 EXT_TYPED_DATA 구조의 Operation 멤버에서 DEBUG_REQUEST_EXT_TYPED_DATA_ANSI 요청 작업이 수행할 하위 작업을 지정하는 데 사용됩니다.