Метод IDebugDataSpaces2::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 | Возвращает адрес функции ядра точки остановаWithStatusInstruction. |
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 | Возвращает адрес переменной ядра MmTotalCommitLimitLimit. |
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 | БУЛЕВ |
Возвращает TRUE, если целевая система включена PAE.
Возвращает значение FALSE в противном случае. |
DEBUG_DATA_SharedUserData | ULONG64 |
Возвращает адрес в целевом объекте общей структуры пользовательского режима KUSER_SHARED_DATA. Структура KUSER_SHARED_DATA определена в ntddk.h (в комплекте драйверов Windows) и ntexapi.h (в пакете SDK для Windows).
Некоторые сведения, содержащиеся в этой структуре, отображаются расширением отладчика !kuser. |
DEBUG_DATA_ProductType | ULONG |
Возвращает значение поля NtProductType на странице общего пользовательского режима.
Это значение должно интерпретироваться так же, как поле wProductType структуры OSVERSIONINFOEX, которое задокументировано в пакете SDK для Windows. |
DEBUG_DATA_SuiteMask | ULONG |
Возвращает значение поля SuiteMask на странице общего пользовательского режима.
Это значение должно интерпретироваться так же, как поле wSuiteMask структуры OSVERSIONINFOEX, которое задокументировано в пакете SDK для Windows. |
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 | Возвращает смещение поля NextProcessor в структуре KTHREAD. |
DEBUG_DATA_OffsetKThreadTeb | USHORT | Возвращает смещение поля Teb в структуре KTHREAD. |
DEBUG_DATA_OffsetKThreadKernelStack | USHORT | Возвращает смещение поля KernelStack в структуре KTHREAD. |
DEBUG_DATA_OffsetKThreadInitialStack | USHORT | Возвращает смещение поля InitialStack в структуре KTHREAD. |
DEBUG_DATA_OffsetKThreadApcProcess | USHORT | Возвращает смещение поля ApcState.Process в структуре KTHREAD. |
DEBUG_DATA_OffsetKThreadState | USHORT | Возвращает смещение поля состояния в структуре KTHREAD. |
DEBUG_DATA_OffsetKThreadBStore | USHORT | (Только Itanium) Возвращает смещение поля InitialBStore в структуре KTHREAD. |
DEBUG_DATA_OffsetKThreadBStoreLimit | USHORT | (Только Itanium) Возвращает смещение поля BStoreLimit в структуре KTHREAD. |
DEBUG_DATA_SizeEProcess | USHORT | Возвращает размер структуры EPROCESS. |
DEBUG_DATA_OffsetEprocessPeb | USHORT | Возвращает смещение поля Peb в структуре EPROCESS. |
DEBUG_DATA_OffsetEprocessParentCID | USHORT | Возвращает смещение поля InheritedFromUniqueProcessId в структуре EPROCESS. |
DEBUG_DATA_OffsetEprocessDirectoryTableBase | USHORT | Возвращает смещение поля DirectoryTableBase в структуре EPROCESS. |
DEBUG_DATA_SizePrcb | USHORT | Возвращает размер структуры KPRCB. |
DEBUG_DATA_OffsetPrcbDpcRoutine | USHORT | Возвращает смещение поля DpcRoutineActive в структуре KPRCB. |
DEBUG_DATA_OffsetPrcbCurrentThread | USHORT | Возвращает смещение поля CurrentThread в структуре KPRCB. |
DEBUG_DATA_OffsetPrcbMhz | USHORT | Возвращает смещение поля МГц в структуре KPRCB. |
DEBUG_DATA_OffsetPrcbCpuType | USHORT |
для процессоров Itanium: Возвращает смещение поля ProcessorModel в структуре KPRCB.
для всех остальных процессоров: Возвращает смещение поля CpuType в структуре KPRCB. |
DEBUG_DATA_OffsetPrcbVendorString | USHORT |
для процессоров Itanium: Возвращает смещение поля ProcessorVendorString в структуре KPRCB.
Для всех остальных процессоров: Возвращает смещение поля VendorString в структуре KPRCB. |
DEBUG_DATA_OffsetPrcbProcessorState | USHORT | Возвращает смещение поля ProcessorState.ContextFrame в структуре KPRCB. |
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
Получает количество байтов, используемых в буфере буфера. Если DataSizeNULL, эти сведения не возвращаются.
Возвращаемое значение
Возвращаемый код | Описание |
---|---|
|
Метод был успешным. |
Этот метод также может возвращать значения ошибок. Дополнительные сведения см. в возвращаемых значений.
Замечания
Некоторые или все значения могут быть недоступны в определенных сеансах отладки. Например, некоторые значения доступны только для определенных версий операционной системы.
Дополнительные сведения о различных значениях, возвращаемых ReadDebuggerData, см. в разделе внутренних элементов Microsoft Windows ДэвидОм Соломоном и Марком Руссиновичем, пакетом SDK для Windows и комплектом драйверов Windows (WDK).
Требования
Требование | Ценность |
---|---|
целевая платформа | Настольный |
заголовка | dbgeng.h (include Dbgeng.h) |