다음을 통해 공유


IDebugDataSpaces::ReadDebuggerData 메서드(dbgeng.h)

ReadDebuggerData 메서드는 현재 세션 중에 디버거 엔진이 쿼리하거나 결정하지 대상에 대한 정보를 반환합니다. 사용 가능한 정보에는 특정 키 대상 커널 위치의 위치, 특정 상태 값 및 기타 여러 가지가 포함됩니다.

통사론

HRESULT ReadDebuggerData(
  [in]            ULONG  Index,
  [out]           PVOID  Buffer,
  [in]            ULONG  BufferSize,
  [out, optional] PULONG DataSize
);

매개 변수

[in] Index

검색할 데이터의 인덱스를 지정합니다. 다음 값은 유효합니다.

반환 형식 묘사
DEBUG_DATA_KernBase ULONG64 커널 이미지의 기본 주소를 반환합니다.
DEBUG_DATA_BreakpointWithStatusAddr ULONG64 BreakpointWithStatusInstruction 커널 함수의 주소를 반환합니다.
DEBUG_DATA_SavedContextAddr ULONG64 버그 검사 중에 저장된 컨텍스트 레코드의 주소를 반환합니다. 버그 검사 후에만 유효합니다.
DEBUG_DATA_KiCallUserModeAddr ULONG64 KiCallUserMode 커널 함수의 주소를 반환합니다.
DEBUG_DATA_KeUserCallbackDispatcherAddr ULONG64 KeUserCallbackDispatcher 커널 변수를 반환합니다.
DEBUG_DATA_PsLoadedModuleListAddr ULONG64 PsLoadedModuleList 커널 변수의 주소를 반환합니다.
DEBUG_DATA_PsActiveProcessHeadAddr ULONG64 PsActiveProcessHead 커널 변수의 주소를 반환합니다.
DEBUG_DATA_PspCidTableAddr ULONG64 커널 변수 PspCidTable주소를 반환합니다.
DEBUG_DATA_ExpSystemResourcesListAddr ULONG64 커널 변수 ExpSystemResourcesList주소를 반환합니다.
DEBUG_DATA_ExpPagedPoolDescriptorAddr ULONG64 ExpPagedPoolDescriptor 커널 변수의 주소를 반환합니다.
DEBUG_DATA_ExpNumberOfPagedPoolsAddr ULONG64 ExpNumberOfPagedPools 커널 변수의 주소를 반환합니다.
DEBUG_DATA_KeTimeIncrementAddr ULONG64 KeTimeIncrement 커널 변수의 주소를 반환합니다.
DEBUG_DATA_KeBugCheckCallbackListHeadAddr ULONG64 KeBugCheckCallbackListHead 커널 변수의 주소를 반환합니다.
DEBUG_DATA_KiBugcheckDataAddr ULONG64 KiBugCheckData 커널 변수를 반환합니다.
DEBUG_DATA_IopErrorLogListHeadAddr ULONG64 IopErrorLogListHead 커널 변수의 주소를 반환합니다.
DEBUG_DATA_ObpRootDirectoryObjectAddr ULONG64 커널 변수 ObpRootDirectoryObject주소를 반환합니다.
DEBUG_DATA_ObpTypeObjectTypeAddr ULONG64 커널 변수 ObpTypeObjectType주소를 반환합니다.
DEBUG_DATA_MmSystemCacheStartAddr ULONG64 MmSystemCacheStart 커널 변수의 주소를 반환합니다.
DEBUG_DATA_MmSystemCacheEndAddr ULONG64 MmSystemCacheEnd 커널 변수의 주소를 반환합니다.
DEBUG_DATA_MmSystemCacheWsAddr ULONG64 MmSystemCacheWs 커널 변수의 주소를 반환합니다.
DEBUG_DATA_MmPfnDatabaseAddr ULONG64 MmPfnDatabase 커널 변수의 주소를 반환합니다.
DEBUG_DATA_MmSystemPtesStartAddr ULONG64 MmSystemPtesStart 커널 변수를 반환합니다.
DEBUG_DATA_MmSystemPtesEndAddr ULONG64 MmSystemPtesEnd 커널 변수를 반환합니다.
DEBUG_DATA_MmSubsectionBaseAddr ULONG64 MmSubsectionBase 커널 변수의 주소를 반환합니다.
DEBUG_DATA_MmNumberOfPagingFilesAddr ULONG64 MmNumberOfPagingFiles 커널 변수의 주소를 반환합니다.
DEBUG_DATA_MmLowestPhysicalPageAddr ULONG64 MmLowestPhysicalPage 커널 변수의 주소를 반환합니다.
DEBUG_DATA_MmHighestPhysicalPageAddr ULONG64 MmHighestPhysicalPage 커널 변수의 주소를 반환합니다.
DEBUG_DATA_MmNumberOfPhysicalPagesAddr ULONG64 MmNumberOfPhysicalPages 커널 변수의 주소를 반환합니다.
DEBUG_DATA_MmMaximumNonPagedPoolInBytesAddr ULONG64 MmMaximumNonPagedPoolInBytes 커널 변수의 주소를 반환합니다.
DEBUG_DATA_MmNonPagedSystemStartAddr ULONG64 MmNonPagedSystemStart 커널 변수의 주소를 반환합니다.
DEBUG_DATA_MmNonPagedPoolStartAddr ULONG64 MmNonPagedPoolStart 커널 변수의 주소를 반환합니다.
DEBUG_DATA_MmNonPagedPoolEndAddr ULONG64 MmNonPagedPoolEnd 커널 변수의 주소를 반환합니다.
DEBUG_DATA_MmPagedPoolStartAddr ULONG64 MmPagedPoolStart 커널 변수의 주소를 반환합니다.
DEBUG_DATA_MmPagedPoolEndAddr ULONG64 MmPagedPoolEnd 커널 변수의 주소를 반환합니다.
DEBUG_DATA_MmPagedPoolInformationAddr ULONG64 MmPagedPoolInfo 커널 변수의 주소를 반환합니다.
DEBUG_DATA_MmPageSize ULONG64 페이지 크기를 반환합니다.
DEBUG_DATA_MmSizeOfPagedPoolInBytesAddr ULONG64 mmSizeOfPagedPoolInBytes 커널 변수의 주소를 반환합니다.
DEBUG_DATA_MmTotalCommitLimitAddr ULONG64 MmTotalCommitLimit 커널 변수의 주소를 반환합니다.
DEBUG_DATA_MmTotalCommittedPagesAddr ULONG64 MmTotalCommittedPages 커널 변수의 주소를 반환합니다.
DEBUG_DATA_MmSharedCommitAddr ULONG64 MmSharedCommit 커널 변수의 주소를 반환합니다.
DEBUG_DATA_MmDriverCommitAddr ULONG64 MmDriverCommit 커널 변수의 주소를 반환합니다.
DEBUG_DATA_MmProcessCommitAddr ULONG64 MmProcessCommit 커널 변수의 주소를 반환합니다.
DEBUG_DATA_MmPagedPoolCommitAddr ULONG64 MmPagedPoolCommit 커널 변수의 주소를 반환합니다.
DEBUG_DATA_MmExtendedCommitAddr ULONG64 MmExtendedCommit 커널 변수의 주소를 반환합니다.
DEBUG_DATA_MmZeroedPageListHeadAddr ULONG64 MmZeroedPageListHead 커널 변수의 주소를 반환합니다.
DEBUG_DATA_MmFreePageListHeadAddr ULONG64 MmFreePageListHead 커널 변수의 주소를 반환합니다.
DEBUG_DATA_MmStandbyPageListHeadAddr ULONG64 MmStandbyPageListHead 커널 변수의 주소를 반환합니다.
DEBUG_DATA_MmModifiedPageListHeadAddr ULONG64 MmModifiedPageListHead 커널 변수의 주소를 반환합니다.
DEBUG_DATA_MmModifiedNoWritePageListHeadAddr ULONG64 MmModifiedNoWritePageListHead 커널 변수의 주소를 반환합니다.
DEBUG_DATA_MmAvailablePagesAddr ULONG64 MmAvailablePages 커널 변수의 주소를 반환합니다.
DEBUG_DATA_MmResidentAvailablePagesAddr ULONG64 MmResidentAvailablePages 커널 변수의 주소를 반환합니다.
DEBUG_DATA_PoolTrackTableAddr ULONG64 PoolTrackTable 커널 변수의 주소를 반환합니다.
DEBUG_DATA_NonPagedPoolDescriptorAddr ULONG64 NonPagedPoolDescriptor 커널 변수의 주소를 반환합니다.
DEBUG_DATA_MmHighestUserAddressAddr ULONG64 MmHighestUserAddress 커널 변수의 주소를 반환합니다.
DEBUG_DATA_MmSystemRangeStartAddr ULONG64 MmSystemRangeStart 커널 변수의 주소를 반환합니다.
DEBUG_DATA_MmUserProbeAddressAddr ULONG64 MmUserProbeAddress 커널 변수의 주소를 반환합니다.
DEBUG_DATA_KdPrintCircularBufferAddr ULONG64 KdPrintDefaultCircularBuffer 커널 변수를 반환합니다.
DEBUG_DATA_KdPrintCircularBufferEndAddr ULONG64 배열 KdPrintDefaultCircularBuffer의 끝 주소를 반환합니다.
DEBUG_DATA_KdPrintWritePointerAddr ULONG64 KdPrintWritePointer 커널 변수의 주소를 반환합니다.
DEBUG_DATA_KdPrintRolloverCountAddr ULONG64 KdPrintRolloverCount 커널 변수의 주소를 반환합니다.
DEBUG_DATA_MmLoadedUserImageListAddr ULONG64 MmLoadedUserImageList 커널 변수의 주소를 반환합니다.
DEBUG_DATA_PaeEnabled 부울 대상 시스템에 PAE가 설정된 경우 TRUE 반환합니다.

그렇지 않으면 false 반환합니다.

DEBUG_DATA_SharedUserData ULONG64 공유 사용자 모드 구조의 대상인 KUSER_SHARED_DATA 주소를 반환합니다. KUSER_SHARED_DATA 구조체는 ntddk.h(Windows 드라이버 키트) 및 ntexapi.h(Windows SDK)로 정의됩니다.

이 구조에 포함된 정보 중 일부는 디버거 확장 !kuser표시됩니다.

DEBUG_DATA_ProductType ULONG 공유 사용자 모드 페이지에서 NtProductType 필드의 값을 반환합니다.

이 값은 Windows SDK에 설명된 OSVERSIONINFOEX 구조체의 wProductType 필드와 동일한 방식으로 해석되어야 합니다.

DEBUG_DATA_SuiteMask ULONG 공유 사용자 모드 페이지에서 SuiteMask 필드의 값을 반환합니다.

이 값은 Windows SDK에 설명된 OSVERSIONINFOEX 구조체의 wSuiteMask 필드와 동일한 방식으로 해석되어야 합니다.

DEBUG_DATA_DumpWriterStatus ULONG 덤프 파일의 작성기의 상태를 반환합니다. 이 값은 운영 체제 및 덤프 파일 형식에 따라 다릅니다.
 

다음 값은 Windows XP 이상 버전의 Windows에 유효합니다.

반환 형식 묘사
DEBUG_DATA_NtBuildLabAddr ULONG64 NtBuildLab 커널 변수의 주소를 반환합니다.
DEBUG_DATA_KiNormalSystemCall ULONG64 (Itanium에만 해당) KiNormalSystemCall 커널 함수의 주소를 반환합니다.
DEBUG_DATA_KiProcessorBlockAddr ULONG64 커널 변수 KiProcessorBlock반환합니다.
DEBUG_DATA_MmUnloadedDriversAddr ULONG64 MmUnloadedDrivers 커널 변수의 주소를 반환합니다.
DEBUG_DATA_MmLastUnloadedDriverAddr ULONG64 MmLastUnloadedDriver 커널 변수의 주소를 반환합니다.
DEBUG_DATA_MmTriageActionTakenAddr ULONG64 VerifierTriageActionTaken 커널 변수의 주소를 반환합니다.
DEBUG_DATA_MmSpecialPoolTagAddr ULONG64 MmSpecialPoolTag 커널 변수의 주소를 반환합니다.
DEBUG_DATA_KernelVerifierAddr ULONG64 KernelVerifier 커널 변수의 주소를 반환합니다.
DEBUG_DATA_MmVerifierDataAddr ULONG64 MmVerifierData 커널 변수의 주소를 반환합니다.
DEBUG_DATA_MmAllocatedNonPagedPoolAddr ULONG64 MmAllocatedNonPagedPool 커널 변수의 주소를 반환합니다.
DEBUG_DATA_MmPeakCommitmentAddr ULONG64 MmPeakCommitment 커널 변수의 주소를 반환합니다.
DEBUG_DATA_MmTotalCommitLimitMaximumAddr ULONG64 MmTotalCommitLimitMaximum 커널 변수의 주소를 반환합니다.
DEBUG_DATA_CmNtCSDVersionAddr ULONG64 cmNtCSDVersion 커널 변수의 주소를 반환합니다.
DEBUG_DATA_MmPhysicalMemoryBlockAddr ULONG64 MmPhysicalMemoryBlock 커널 변수의 주소를 반환합니다.
DEBUG_DATA_MmSessionBase ULONG64 MmSessionBase 커널 변수의 주소를 반환합니다.
DEBUG_DATA_MmSessionSize ULONG64 MmSessionSize 커널 변수의 주소를 반환합니다.
DEBUG_DATA_MmSystemParentTablePage ULONG64 (Itanium에만 해당) MmSystemParentTablePage 커널 변수의 주소를 반환합니다.
 

다음 값은 Windows Server 2003 이상 버전의 Windows에 유효합니다.

반환 형식 묘사
DEBUG_DATA_MmVirtualTranslationBase ULONG64 MmVirtualTranslationBase 커널 변수의 주소를 반환합니다.
DEBUG_DATA_OffsetKThreadNextProcessor USHORT KTHREAD 구조에서 NextProcessor 필드의 오프셋을 반환합니다.
DEBUG_DATA_OffsetKThreadTeb USHORT KTHREAD 구조에서 Teb 필드의 오프셋을 반환합니다.
DEBUG_DATA_OffsetKThreadKernelStack USHORT KTHREAD 구조에서 KernelStack 필드의 오프셋을 반환합니다.
DEBUG_DATA_OffsetKThreadInitialStack USHORT KTHREAD 구조에서 InitialStack 필드의 오프셋을 반환합니다.
DEBUG_DATA_OffsetKThreadApcProcess USHORT KTHREAD 구조에서 ApcState.Process 필드의 오프셋을 반환합니다.
DEBUG_DATA_OffsetKThreadState USHORT KTHREAD 구조에서 상태 필드의 오프셋을 반환합니다.
DEBUG_DATA_OffsetKThreadBStore USHORT (Itanium에만 해당) KTHREAD 구조에서 InitialBStore 필드의 오프셋을 반환합니다.
DEBUG_DATA_OffsetKThreadBStoreLimit USHORT (Itanium에만 해당) KTHREAD 구조에서 BStoreLimit 필드의 오프셋을 반환합니다.
DEBUG_DATA_SizeEProcess USHORT EPROCESS 구조체의 크기를 반환합니다.
DEBUG_DATA_OffsetEprocessPeb USHORT EPROCESS 구조체에서 Peb 필드의 오프셋을 반환합니다.
DEBUG_DATA_OffsetEprocessParentCID USHORT EPROCESS 구조체에서 InheritedFromUniqueProcessId 필드의 오프셋을 반환합니다.
DEBUG_DATA_OffsetEprocessDirectoryTableBase USHORT EPROCESS 구조에서 DirectoryTableBase 필드의 오프셋을 반환합니다.
DEBUG_DATA_SizePrcb USHORT KPRCB 구조체의 크기를 반환합니다.
DEBUG_DATA_OffsetPrcbDpcRoutine USHORT KPRCB 구조체에서 DpcRoutineActive 필드의 오프셋을 반환합니다.
DEBUG_DATA_OffsetPrcbCurrentThread USHORT KPRCB 구조체에서 CurrentThread 필드의 오프셋을 반환합니다.
DEBUG_DATA_OffsetPrcbMhz USHORT KPRCB 구조체에서 MHz 필드의 오프셋을 반환합니다.
DEBUG_DATA_OffsetPrcbCpuType USHORT Itanium 프로세서의 경우: KPRCB 구조에서 ProcessorModel 필드의 오프셋을 반환합니다.

다른 모든 프로세서의 경우: KPRCB 구조체에서 CpuType 필드의 오프셋을 반환합니다.

DEBUG_DATA_OffsetPrcbVendorString USHORT Itanium 프로세서의 경우: KPRCB 구조에서 ProcessorVendorString 필드의 오프셋을 반환합니다.

다른 모든 프로세서의 경우: KPRCB 구조에서 VendorString 필드의 오프셋을 반환합니다.

DEBUG_DATA_OffsetPrcbProcessorState USHORT KPRCB 구조체에서 ProcessorState.ContextFrame 필드의 오프셋을 반환합니다.
DEBUG_DATA_OffsetPrcbNumber USHORT KPRCB 구조체에서 숫자 필드의 오프셋을 반환합니다.
DEBUG_DATA_SizeEThread USHORT ETHREAD 구조체의 크기를 반환합니다.
DEBUG_DATA_KdPrintCircularBufferPtrAddr ULONG64 KdPrintCircularBuffer 커널 변수의 주소를 반환합니다.
DEBUG_DATA_KdPrintBufferSizeAddr ULONG64 KdPrintBufferSize 커널 변수의 주소를 반환합니다.

[out] Buffer

지정된 디버거 데이터의 값을 받습니다. 위 표의 "반환 형식" 열은 반환되는 데이터 형식을 지정합니다. 버퍼 해당 형식에 대한 포인터로 캐스팅하여 데이터에 액세스할 수 있습니다.

[in] BufferSize

버퍼 버퍼의 크기(바이트)를 지정합니다.

[out, optional] DataSize

버퍼 버퍼에 사용된 바이트 수를 받습니다. DataSize NULL 경우 이 정보가 반환되지 않습니다.

반환 값

반환 코드 묘사
S_OK
메서드가 성공했습니다.
 

이 메서드는 오류 값을 반환할 수도 있습니다. 자세한 내용은 반환 값 참조하세요.

발언

일부 또는 모든 값은 특정 디버깅 세션에서 사용할 수 없습니다. 예를 들어 일부 값은 특정 버전의 운영 체제에서만 사용할 수 있습니다.

ReadDebuggerData반환된 다양한 값에 대한 자세한 내용은 David Solomon 및 Mark Russinovich, Microsoft Windows SDK 및 WDK(Windows 드라이버 키트)가 Microsoft Windows 내부 참조하세요.

요구 사항

요구
대상 플랫폼 바탕 화면
헤더 dbgeng.h(Dbgeng.h 포함)