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 요청 작업이 수행할 하위 작업을 지정하는 데 사용됩니다. |