IDebugDataSpaces3::ReadDebuggerData-Methode (dbgeng.h)
Die ReadDebuggerData-Methode gibt Informationen über das Ziel zurück, das das Debuggermodul während der aktuellen Sitzung abgefragt oder ermittelt hat. Die verfügbaren Informationen umfassen die Speicherorte bestimmter wichtiger Zielkernkernspeicherorte, bestimmte status Werte und eine Reihe anderer Dinge.
Syntax
HRESULT ReadDebuggerData(
[in] ULONG Index,
[out] PVOID Buffer,
[in] ULONG BufferSize,
[out, optional] PULONG DataSize
);
Parameter
[in] Index
Gibt den Index der abzurufenden Daten an. Folgende Werte sind gültig:
Wert | Rückgabetyp | BESCHREIBUNG |
---|---|---|
DEBUG_DATA_KernBase | ULONG64 | Gibt die Basisadresse des Kernelimages zurück. |
DEBUG_DATA_BreakpointWithStatusAddr | ULONG64 | Gibt die Adresse der Kernelfunktion BreakpointWithStatusInstruction zurück. |
DEBUG_DATA_SavedContextAddr | ULONG64 | Gibt die Adresse des gespeicherten Kontextdatensatzes während einer Fehlerüberprüfung zurück. Sie ist nur nach einer Fehlerüberprüfung gültig. |
DEBUG_DATA_KiCallUserModeAddr | ULONG64 | Gibt die Adresse der Kernelfunktion KiCallUserMode zurück. |
DEBUG_DATA_KeUserCallbackDispatcherAddr | ULONG64 | Gibt die Kernelvariable KeUserCallbackDispatcher zurück. |
DEBUG_DATA_PsLoadedModuleListAddr | ULONG64 | Gibt die Adresse der Kernelvariable PsLoadedModuleList zurück. |
DEBUG_DATA_PsActiveProcessHeadAddr | ULONG64 | Gibt die Adresse der Kernelvariable PsActiveProcessHead zurück. |
DEBUG_DATA_PspCidTableAddr | ULONG64 | Gibt die Adresse der Kernelvariable PspCidTable zurück. |
DEBUG_DATA_ExpSystemResourcesListAddr | ULONG64 | Gibt die Adresse der Kernelvariable ExpSystemResourcesList zurück. |
DEBUG_DATA_ExpPagedPoolDescriptorAddr | ULONG64 | Gibt die Adresse der Kernelvariable ExpPagedPoolDescriptor zurück. |
DEBUG_DATA_ExpNumberOfPagedPoolsAddr | ULONG64 | Gibt die Adresse der Kernelvariable ExpNumberOfPagedPools zurück. |
DEBUG_DATA_KeTimeIncrementAddr | ULONG64 | Gibt die Adresse der Kernelvariable KeTimeIncrement zurück. |
DEBUG_DATA_KeBugCheckCallbackListHeadAddr | ULONG64 | Gibt die Adresse der Kernelvariable KeBugCheckCallbackListHead zurück. |
DEBUG_DATA_KiBugcheckDataAddr | ULONG64 | Gibt die Kernelvariable KiBugCheckData zurück. |
DEBUG_DATA_IopErrorLogListHeadAddr | ULONG64 | Gibt die Adresse der Kernelvariable IopErrorLogListHead zurück. |
DEBUG_DATA_ObpRootDirectoryObjectAddr | ULONG64 | Gibt die Adresse der Kernelvariable ObpRootDirectoryObject zurück. |
DEBUG_DATA_ObpTypeObjectTypeAddr | ULONG64 | Gibt die Adresse der Kernelvariable ObpTypeObjectType zurück. |
DEBUG_DATA_MmSystemCacheStartAddr | ULONG64 | Gibt die Adresse der Kernelvariable MmSystemCacheStart zurück. |
DEBUG_DATA_MmSystemCacheEndAddr | ULONG64 | Gibt die Adresse der Kernelvariable MmSystemCacheEnd zurück. |
DEBUG_DATA_MmSystemCacheWsAddr | ULONG64 | Gibt die Adresse der Kernelvariable MmSystemCacheWs zurück. |
DEBUG_DATA_MmPfnDatabaseAddr | ULONG64 | Gibt die Adresse der Kernelvariable MmPfnDatabase zurück. |
DEBUG_DATA_MmSystemPtesStartAddr | ULONG64 | Gibt die Kernelvariable MmSystemPtesStart zurück. |
DEBUG_DATA_MmSystemPtesEndAddr | ULONG64 | Gibt die Kernelvariable MmSystemPtesEnd zurück. |
DEBUG_DATA_MmSubsectionBaseAddr | ULONG64 | Gibt die Adresse der Kernelvariable MmSubsectionBase zurück. |
DEBUG_DATA_MmNumberOfPagingFilesAddr | ULONG64 | Gibt die Adresse der Kernelvariable MmNumberOfPagingFiles zurück. |
DEBUG_DATA_MmLowestPhysicalPageAddr | ULONG64 | Gibt die Adresse der Kernelvariable MmLowestPhysicalPage zurück. |
DEBUG_DATA_MmHighestPhysicalPageAddr | ULONG64 | Gibt die Adresse der Kernelvariable MmHighestPhysicalPage zurück. |
DEBUG_DATA_MmNumberOfPhysicalPagesAddr | ULONG64 | Gibt die Adresse der Kernelvariable MmNumberOfPhysicalPages zurück. |
DEBUG_DATA_MmMaximumNonPagedPoolInBytesAddr | ULONG64 | Gibt die Adresse der Kernelvariable MmMaximumNonPagedPoolInBytes zurück. |
DEBUG_DATA_MmNonPagedSystemStartAddr | ULONG64 | Gibt die Adresse der Kernelvariable MmNonPagedSystemStart zurück. |
DEBUG_DATA_MmNonPagedPoolStartAddr | ULONG64 | Gibt die Adresse der Kernelvariable MmNonPagedPoolStart zurück. |
DEBUG_DATA_MmNonPagedPoolEndAddr | ULONG64 | Gibt die Adresse der Kernelvariable MmNonPagedPoolEnd zurück. |
DEBUG_DATA_MmPagedPoolStartAddr | ULONG64 | Gibt die Adresse der Kernelvariable MmPagedPoolStart zurück. |
DEBUG_DATA_MmPagedPoolEndAddr | ULONG64 | Gibt die Adresse der Kernelvariable MmPagedPoolEnd zurück. |
DEBUG_DATA_MmPagedPoolInformationAddr | ULONG64 | Gibt die Adresse der Kernelvariable MmPagedPoolInfo zurück. |
DEBUG_DATA_MmPageSize | ULONG64 | Gibt die Seitengröße zurück. |
DEBUG_DATA_MmSizeOfPagedPoolInBytesAddr | ULONG64 | Gibt die Adresse der Kernelvariable MmSizeOfPagedPoolInBytes zurück. |
DEBUG_DATA_MmTotalCommitLimitAddr | ULONG64 | Gibt die Adresse der Kernelvariable MmTotalCommitLimit zurück. |
DEBUG_DATA_MmTotalCommittedPagesAddr | ULONG64 | Gibt die Adresse der Kernelvariable MmTotalCommittedPages zurück. |
DEBUG_DATA_MmSharedCommitAddr | ULONG64 | Gibt die Adresse der Kernelvariable MmSharedCommit zurück. |
DEBUG_DATA_MmDriverCommitAddr | ULONG64 | Gibt die Adresse der Kernelvariable MmDriverCommit zurück. |
DEBUG_DATA_MmProcessCommitAddr | ULONG64 | Gibt die Adresse der Kernelvariable MmProcessCommit zurück. |
DEBUG_DATA_MmPagedPoolCommitAddr | ULONG64 | Gibt die Adresse der Kernelvariable MmPagedPoolCommit zurück. |
DEBUG_DATA_MmExtendedCommitAddr | ULONG64 | Gibt die Adresse der Kernelvariable MmExtendedCommit.. zurück. |
DEBUG_DATA_MmZeroedPageListHeadAddr | ULONG64 | Gibt die Adresse der Kernelvariable MmZeroedPageListHead zurück. |
DEBUG_DATA_MmFreePageListHeadAddr | ULONG64 | Gibt die Adresse der Kernelvariable MmFreePageListHead zurück. |
DEBUG_DATA_MmStandbyPageListHeadAddr | ULONG64 | Gibt die Adresse der Kernelvariable MmStandbyPageListHead zurück. |
DEBUG_DATA_MmModifiedPageListHeadAddr | ULONG64 | Gibt die Adresse der Kernelvariable MmModifiedPageListHead zurück. |
DEBUG_DATA_MmModifiedNoWritePageListHeadAddr | ULONG64 | Gibt die Adresse der Kernelvariable MmModifiedNoWritePageListHead zurück. |
DEBUG_DATA_MmAvailablePagesAddr | ULONG64 | Gibt die Adresse der Kernelvariable MmAvailablePages zurück. |
DEBUG_DATA_MmResidentAvailablePagesAddr | ULONG64 | Gibt die Adresse der Kernelvariable MmResidentAvailablePages zurück. |
DEBUG_DATA_PoolTrackTableAddr | ULONG64 | Gibt die Adresse der Kernelvariable PoolTrackTable zurück. |
DEBUG_DATA_NonPagedPoolDescriptorAddr | ULONG64 | Gibt die Adresse der Kernelvariable NonPagedPoolDescriptor zurück. |
DEBUG_DATA_MmHighestUserAddressAddr | ULONG64 | Gibt die Adresse der Kernelvariable MmHighestUserAddress zurück. |
DEBUG_DATA_MmSystemRangeStartAddr | ULONG64 | Gibt die Adresse der Kernelvariable MmSystemRangeStart zurück. |
DEBUG_DATA_MmUserProbeAddressAddr | ULONG64 | Gibt die Adresse der Kernelvariable MmUserProbeAddress zurück. |
DEBUG_DATA_KdPrintCircularBufferAddr | ULONG64 | Gibt die Kernelvariable KdPrintDefaultCircularBuffer zurück. |
DEBUG_DATA_KdPrintCircularBufferEndAddr | ULONG64 | Gibt die Adresse des Endes des Arrays KdPrintDefaultCircularBuffer zurück. |
DEBUG_DATA_KdPrintWritePointerAddr | ULONG64 | Gibt die Adresse der Kernelvariable KdPrintWritePointer zurück. |
DEBUG_DATA_KdPrintRolloverCountAddr | ULONG64 | Gibt die Adresse der Kernelvariable KdPrintRolloverCount zurück. |
DEBUG_DATA_MmLoadedUserImageListAddr | ULONG64 | Gibt die Adresse der Kernelvariable MmLoadedUserImageList zurück. |
DEBUG_DATA_PaeEnabled | BOOLEAN |
Gibt TRUE zurück, wenn für das Zielsystem PAE aktiviert ist.
Gibt andernfalls FALSE zurück. |
DEBUG_DATA_SharedUserData | ULONG64 |
Gibt die Adresse im Ziel der freigegebenen Benutzermodusstruktur zurück, KUSER_SHARED_DATA. Die KUSER_SHARED_DATA-Struktur ist in ntddk.h (im Windows Driver Kit) und ntexapi.h (im Windows SDK) definiert.
Einige der in dieser Struktur enthaltenen Informationen werden von der Debuggererweiterung !kuser angezeigt. |
DEBUG_DATA_ProductType | ULONG |
Gibt den Wert des NtProductType-Felds auf der Seite für den freigegebenen Benutzermodus zurück.
Dieser Wert sollte auf die gleiche Weise interpretiert werden wie das wProductType-Feld der Struktur OSVERSIONINFOEX, das im Windows SDK dokumentiert ist. |
DEBUG_DATA_SuiteMask | ULONG |
Gibt den Wert des Felds SuiteMask auf der Seite für den freigegebenen Benutzermodus zurück.
Dieser Wert sollte genauso interpretiert werden wie das wSuiteMask-Feld der Struktur OSVERSIONINFOEX, das im Windows SDK dokumentiert ist. |
DEBUG_DATA_DumpWriterStatus | ULONG | Gibt den status des Writers der Speicherabbilddatei zurück. Dieser Wert ist betriebssystem- und speicherabbilddateitypspezifisch. |
Die folgenden Werte gelten für Windows XP und höhere Versionen von Windows:
Wert | Rückgabetyp | BESCHREIBUNG |
---|---|---|
DEBUG_DATA_NtBuildLabAddr | ULONG64 | Gibt die Adresse der Kernelvariable NtBuildLab zurück. |
DEBUG_DATA_KiNormalSystemCall | ULONG64 | (Nur Itanium) Gibt die Adresse der Kernelfunktion KiNormalSystemCall zurück. |
DEBUG_DATA_KiProcessorBlockAddr | ULONG64 | Gibt die Kernelvariable KiProcessorBlock zurück. |
DEBUG_DATA_MmUnloadedDriversAddr | ULONG64 | Gibt die Adresse der Kernelvariable MmUnloadedDrivers zurück. |
DEBUG_DATA_MmLastUnloadedDriverAddr | ULONG64 | Gibt die Adresse der Kernelvariable MmLastUnloadedDriver zurück. |
DEBUG_DATA_MmTriageActionTakenAddr | ULONG64 | Gibt die Adresse der Kernelvariable VerifierTriageActionTaken zurück. |
DEBUG_DATA_MmSpecialPoolTagAddr | ULONG64 | Gibt die Adresse der Kernelvariable MmSpecialPoolTag zurück. |
DEBUG_DATA_KernelVerifierAddr | ULONG64 | Gibt die Adresse der Kernelvariable KernelVerifier zurück. |
DEBUG_DATA_MmVerifierDataAddr | ULONG64 | Gibt die Adresse der Kernelvariable MmVerifierData zurück. |
DEBUG_DATA_MmAllocatedNonPagedPoolAddr | ULONG64 | Gibt die Adresse der Kernelvariable MmAllocatedNonPagedPool zurück. |
DEBUG_DATA_MmPeakCommitmentAddr | ULONG64 | Gibt die Adresse der Kernelvariable MmPeakCommitment zurück. |
DEBUG_DATA_MmTotalCommitLimitMaximumAddr | ULONG64 | Gibt die Adresse der Kernelvariable MmTotalCommitLimitMaximum zurück. |
DEBUG_DATA_CmNtCSDVersionAddr | ULONG64 | Gibt die Adresse der Kernelvariable CmNtCSDVersion zurück. |
DEBUG_DATA_MmPhysicalMemoryBlockAddr | ULONG64 | Gibt die Adresse der Kernelvariable MmPhysicalMemoryBlock zurück. |
DEBUG_DATA_MmSessionBase | ULONG64 | Gibt die Adresse der Kernelvariable MmSessionBase zurück. |
DEBUG_DATA_MmSessionSize | ULONG64 | Gibt die Adresse der Kernelvariable MmSessionSize zurück. |
DEBUG_DATA_MmSystemParentTablePage | ULONG64 | (Nur Itanium) Gibt die Adresse der Kernelvariable MmSystemParentTablePage zurück. |
Die folgenden Werte sind für Windows Server 2003 und höhere Versionen von Windows gültig:
Wert | Rückgabetyp | BESCHREIBUNG |
---|---|---|
DEBUG_DATA_MmVirtualTranslationBase | ULONG64 | Gibt die Adresse der Kernelvariable MmVirtualTranslationBase zurück. |
DEBUG_DATA_OffsetKThreadNextProcessor | USHORT | Gibt den Offset des NextProcessor-Felds in der KTHREAD-Struktur zurück. |
DEBUG_DATA_OffsetKThreadTeb | USHORT | Gibt den Offset des Teb-Felds in der KTHREAD-Struktur zurück. |
DEBUG_DATA_OffsetKThreadKernelStack | USHORT | Gibt den Offset des KernelStack-Felds in der KTHREAD-Struktur zurück. |
DEBUG_DATA_OffsetKThreadInitialStack | USHORT | Gibt den Offset des InitialStack-Felds in der KTHREAD-Struktur zurück. |
DEBUG_DATA_OffsetKThreadApcProcess | USHORT | Gibt den Offset des Felds ApcState.Process in der KTHREAD-Struktur zurück. |
DEBUG_DATA_OffsetKThreadState | USHORT | Gibt den Offset des Felds State in der KTHREAD-Struktur zurück. |
DEBUG_DATA_OffsetKThreadBStore | USHORT | (Nur Itanium) Gibt den Offset des InitialBStore-Felds in der KTHREAD-Struktur zurück. |
DEBUG_DATA_OffsetKThreadBStoreLimit | USHORT | (Nur Itanium) Gibt den Offset des Felds BStoreLimit in der KTHREAD-Struktur zurück. |
DEBUG_DATA_SizeEProcess | USHORT | Gibt die Größe der EPROCESS-Struktur zurück. |
DEBUG_DATA_OffsetEprocessPeb | USHORT | Gibt den Offset des Peb-Felds in der EPROCESS-Struktur zurück. |
DEBUG_DATA_OffsetEprocessParentCID | USHORT | Gibt den Offset des Felds InheritedFromUniqueProcessId in der EPROCESS-Struktur zurück. |
DEBUG_DATA_OffsetEprocessDirectoryTableBase | USHORT | Gibt den Offset des DirectoryTableBase-Felds in der EPROCESS-Struktur zurück. |
DEBUG_DATA_SizePrcb | USHORT | Gibt die Größe der KPRCB-Struktur zurück. |
DEBUG_DATA_OffsetPrcbDpcRoutine | USHORT | Gibt den Offset des Felds DpcRoutineActive in der KPRCB-Struktur zurück. |
DEBUG_DATA_OffsetPrcbCurrentThread | USHORT | Gibt den Offset des Felds CurrentThread in der KPRCB-Struktur zurück. |
DEBUG_DATA_OffsetPrcbMhz | USHORT | Gibt den Offset des MHz-Felds in der KPRCB-Struktur zurück. |
DEBUG_DATA_OffsetPrcbCpuType | USHORT |
Für Itanium-Prozessoren: Gibt den Offset des Felds ProcessorModel in der KPRCB-Struktur zurück.
Für alle anderen Prozessoren: Gibt den Offset des Felds CpuType in der KPRCB-Struktur zurück. |
DEBUG_DATA_OffsetPrcbVendorString | USHORT |
Für Itanium-Prozessoren: Gibt den Offset des Felds ProcessorVendorString in der KPRCB-Struktur zurück.
Für alle anderen Prozessoren: Gibt den Offset des VendorString-Felds in der KPRCB-Struktur zurück. |
DEBUG_DATA_OffsetPrcbProcessorState | USHORT | Gibt den Offset des Felds ProcessorState.ContextFrame in der KPRCB-Struktur zurück. |
DEBUG_DATA_OffsetPrcbNumber | USHORT | Gibt den Offset des Felds Zahl in der KPRCB-Struktur zurück. |
DEBUG_DATA_SizeEThread | USHORT | Gibt die Größe der ETHREAD-Struktur zurück. |
DEBUG_DATA_KdPrintCircularBufferPtrAddr | ULONG64 | Gibt die Adresse der Kernelvariable KdPrintCircularBuffer zurück. |
DEBUG_DATA_KdPrintBufferSizeAddr | ULONG64 | Gibt die Adresse der Kernelvariable KdPrintBufferSize zurück. |
[out] Buffer
Empfängt den Wert der angegebenen Debuggerdaten. Die Spalte "Rückgabetyp" in der obigen Tabelle gibt den zurückgegebenen Datentyp an. Auf die Daten kann zugegriffen werden, indem Puffer in einen Zeiger auf diesen Typ umgewandelt wird.
[in] BufferSize
Gibt die Größe des Pufferpuffers in Bytes an.
[out, optional] DataSize
Empfängt die Anzahl von Bytes, die im Pufferpuffer verwendet werden. Wenn DataSizeNULL ist, werden diese Informationen nicht zurückgegeben.
Rückgabewert
Rückgabecode | BESCHREIBUNG |
---|---|
|
Die Methode war erfolgreich. |
Diese Methode kann auch Fehlerwerte zurückgeben. Weitere Informationen finden Sie unter Rückgabewerte .
Hinweise
Einige oder alle Werte sind in bestimmten Debugsitzungen möglicherweise nicht verfügbar. Beispielsweise sind einige der Werte nur für bestimmte Versionen des Betriebssystems verfügbar.
Ausführliche Informationen zu den verschiedenen Werten, die von ReadDebuggerData zurückgegeben werden, finden Sie unter Microsoft Windows Internals by David Solomon und Mark Russinovich, dem Microsoft Windows SDK und dem Windows Driver Kit (WDK).
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Desktop |
Kopfzeile | dbgeng.h (einschließlich Dbgeng.h) |