Freigeben über


IDebugDataSpaces3::ReadDebuggerData-Methode (dbgeng.h)

Die ReadDebuggerData--Methode gibt Informationen zum Ziel zurück, das das Debuggermodul während der aktuellen Sitzung abgefragt oder bestimmt hat. Die verfügbaren Informationen umfassen die Speicherorte bestimmter Zielkernkernspeicherorte, bestimmte Statuswerte 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. Die folgenden 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 BreakpointWithStatusInstructionzurück.
DEBUG_DATA_SavedContextAddr ULONG64 Gibt die Adresse des gespeicherten Kontextdatensatzes während einer Fehlerüberprüfung zurück. Es ist nur gültig, nachdem ein Fehlercheck aufgetreten ist.
DEBUG_DATA_KiCallUserModeAddr ULONG64 Gibt die Adresse der Kernelfunktion KiCallUserModezurück.
DEBUG_DATA_KeUserCallbackDispatcherAddr ULONG64 Gibt die Kernelvariable KeUserCallbackDispatcherzurück.
DEBUG_DATA_PsLoadedModuleListAddr ULONG64 Gibt die Adresse der Kernelvariable PsLoadedModuleListzurück.
DEBUG_DATA_PsActiveProcessHeadAddr ULONG64 Gibt die Adresse der Kernelvariable PsActiveProcessHeadzurü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 ExpPagedPoolDescriptorzurück.
DEBUG_DATA_ExpNumberOfPagedPoolsAddr ULONG64 Gibt die Adresse der Kernelvariable ExpNumberOfPagedPoolszurück.
DEBUG_DATA_KeTimeIncrementAddr ULONG64 Gibt die Adresse der Kernelvariable KeTimeIncrementzurück.
DEBUG_DATA_KeBugCheckCallbackListHeadAddr ULONG64 Gibt die Adresse der Kernelvariable KeBugCheckCallbackListHeadzurück.
DEBUG_DATA_KiBugcheckDataAddr ULONG64 Gibt die Kernelvariable KiBugCheckDatazurück.
DEBUG_DATA_IopErrorLogListHeadAddr ULONG64 Gibt die Adresse der Kernelvariable IopErrorLogListHeadzurück.
DEBUG_DATA_ObpRootDirectoryObjectAddr ULONG64 Gibt die Adresse der Kernelvariable ObpRootDirectoryObjectzurück.
DEBUG_DATA_ObpTypeObjectTypeAddr ULONG64 Gibt die Adresse der Kernelvariable ObpTypeObjectTypezurück.
DEBUG_DATA_MmSystemCacheStartAddr ULONG64 Gibt die Adresse der Kernelvariable MmSystemCacheStartzurück.
DEBUG_DATA_MmSystemCacheEndAddr ULONG64 Gibt die Adresse der Kernelvariable MmSystemCacheEndzurück.
DEBUG_DATA_MmSystemCacheWsAddr ULONG64 Gibt die Adresse der Kernelvariable MmSystemCacheWszurück.
DEBUG_DATA_MmPfnDatabaseAddr ULONG64 Gibt die Adresse der Kernelvariable MmPfnDatabasezurück.
DEBUG_DATA_MmSystemPtesStartAddr ULONG64 Gibt die Kernelvariable MmSystemPtesStartzurück.
DEBUG_DATA_MmSystemPtesEndAddr ULONG64 Gibt die Kernelvariable MmSystemPtesEndzurück.
DEBUG_DATA_MmSubsectionBaseAddr ULONG64 Gibt die Adresse der Kernelvariable MmSubsectionBasezurück.
DEBUG_DATA_MmNumberOfPagingFilesAddr ULONG64 Gibt die Adresse der Kernelvariable MmNumberOfPagingFileszurück.
DEBUG_DATA_MmLowestPhysicalPageAddr ULONG64 Gibt die Adresse der Kernelvariable MmLowestPhysicalPagezurück.
DEBUG_DATA_MmHighestPhysicalPageAddr ULONG64 Gibt die Adresse der Kernelvariable MmHighestPhysicalPagezurück.
DEBUG_DATA_MmNumberOfPhysicalPagesAddr ULONG64 Gibt die Adresse der Kernelvariable MmNumberOfPhysicalPageszurück.
DEBUG_DATA_MmMaximumNonPagedPoolInBytesAddr ULONG64 Gibt die Adresse der Kernelvariable MmMaximumNonPagedPoolInByteszurück.
DEBUG_DATA_MmNonPagedSystemStartAddr ULONG64 Gibt die Adresse der Kernelvariable MmNonPagedSystemStartzurück.
DEBUG_DATA_MmNonPagedPoolStartAddr ULONG64 Gibt die Adresse der Kernelvariable MmNonPagedPoolStartzurück.
DEBUG_DATA_MmNonPagedPoolEndAddr ULONG64 Gibt die Adresse der Kernelvariable MmNonPagedPoolEndzurück.
DEBUG_DATA_MmPagedPoolStartAddr ULONG64 Gibt die Adresse der Kernelvariable MmPagedPoolStartzurück.
DEBUG_DATA_MmPagedPoolEndAddr ULONG64 Gibt die Adresse der Kernelvariable MmPagedPoolEndzurück.
DEBUG_DATA_MmPagedPoolInformationAddr ULONG64 Gibt die Adresse der Kernelvariable MmPagedPoolInfozurück.
DEBUG_DATA_MmPageSize ULONG64 Gibt das Seitenformat zurück.
DEBUG_DATA_MmSizeOfPagedPoolInBytesAddr ULONG64 Gibt die Adresse der Kernelvariable MmSizeOfPagedPoolInByteszurück.
DEBUG_DATA_MmTotalCommitLimitAddr ULONG64 Gibt die Adresse der Kernelvariable MmTotalCommitLimitzurück.
DEBUG_DATA_MmTotalCommittedPagesAddr ULONG64 Gibt die Adresse der Kernelvariable MmTotalCommittedPageszurück.
DEBUG_DATA_MmSharedCommitAddr ULONG64 Gibt die Adresse der Kernelvariable MmSharedCommitzurück.
DEBUG_DATA_MmDriverCommitAddr ULONG64 Gibt die Adresse der Kernelvariable MmDriverCommitzurück.
DEBUG_DATA_MmProcessCommitAddr ULONG64 Gibt die Adresse der Kernelvariable MmProcessCommitzurück.
DEBUG_DATA_MmPagedPoolCommitAddr ULONG64 Gibt die Adresse der Kernelvariable MmPagedPoolCommitzurück.
DEBUG_DATA_MmExtendedCommitAddr ULONG64 Gibt die Adresse der Kernelvariable MmExtendedCommit..
DEBUG_DATA_MmZeroedPageListHeadAddr ULONG64 Gibt die Adresse der Kernelvariable MmZeroedPageListHeadzurück.
DEBUG_DATA_MmFreePageListHeadAddr ULONG64 Gibt die Adresse der Kernelvariable MmFreePageListHeadzurück.
DEBUG_DATA_MmStandbyPageListHeadAddr ULONG64 Gibt die Adresse der Kernelvariable MmStandbyPageListHeadzurück.
DEBUG_DATA_MmModifiedPageListHeadAddr ULONG64 Gibt die Adresse der Kernelvariable MmModifiedPageListHeadzurück.
DEBUG_DATA_MmModifiedNoWritePageListHeadAddr ULONG64 Gibt die Adresse der Kernelvariable MmModifiedNoWritePageListHeadzurück.
DEBUG_DATA_MmAvailablePagesAddr ULONG64 Gibt die Adresse der Kernelvariable MmAvailablePageszurück.
DEBUG_DATA_MmResidentAvailablePagesAddr ULONG64 Gibt die Adresse der Kernelvariable MmResidentAvailablePageszurück.
DEBUG_DATA_PoolTrackTableAddr ULONG64 Gibt die Adresse der Kernelvariable PoolTrackTable-zurück.
DEBUG_DATA_NonPagedPoolDescriptorAddr ULONG64 Gibt die Adresse der Kernelvariable NonPagedPoolDescriptorzurück.
DEBUG_DATA_MmHighestUserAddressAddr ULONG64 Gibt die Adresse der Kernelvariable MmHighestUserAddresszurück.
DEBUG_DATA_MmSystemRangeStartAddr ULONG64 Gibt die Adresse der Kernelvariable MmSystemRangeStartzurück.
DEBUG_DATA_MmUserProbeAddressAddr ULONG64 Gibt die Adresse der Kernelvariable MmUserProbeAddresszurück.
DEBUG_DATA_KdPrintCircularBufferAddr ULONG64 Gibt die Kernelvariable KdPrintDefaultCircularBufferzurü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 KdPrintRolloverCountzurück.
DEBUG_DATA_MmLoadedUserImageListAddr ULONG64 Gibt die Adresse der Kernelvariable MmLoadedUserImageListzurück.
DEBUG_DATA_PaeEnabled BOOLESCH Gibt TRUE zurück, wenn das Zielsystem PAE aktiviert hat.

Gibt FALSE andernfalls zurück.

DEBUG_DATA_SharedUserData ULONG64 Gibt die Adresse im Ziel der freigegebenen Benutzermodusstruktur KUSER_SHARED_DATA zurück. Die KUSER_SHARED_DATA-Struktur wird 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 !kuserangezeigt.

DEBUG_DATA_ProductType ULONG Gibt den Wert des felds NtProductType 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 auf die gleiche Weise 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 Dumpdatei zurück. Dieser Wert ist das Betriebssystem und der dateitypspezifische Speicherabbilddatei.
 

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 NtBuildLabzurück.
DEBUG_DATA_KiNormalSystemCall ULONG64 (Nur Itanium) Gibt die Adresse der Kernelfunktion KiNormalSystemCallzurück.
DEBUG_DATA_KiProcessorBlockAddr ULONG64 Gibt die Kernelvariable KiProcessorBlockzurück.
DEBUG_DATA_MmUnloadedDriversAddr ULONG64 Gibt die Adresse der Kernelvariable MmUnloadedDriverszurück.
DEBUG_DATA_MmLastUnloadedDriverAddr ULONG64 Gibt die Adresse der Kernelvariable MmLastUnloadedDriverzurück.
DEBUG_DATA_MmTriageActionTakenAddr ULONG64 Gibt die Adresse der Kernelvariable VerifierTriageActionTakenzurück.
DEBUG_DATA_MmSpecialPoolTagAddr ULONG64 Gibt die Adresse der Kernelvariable MmSpecialPoolTagzurück.
DEBUG_DATA_KernelVerifierAddr ULONG64 Gibt die Adresse der Kernelvariable KernelVerifierzurück.
DEBUG_DATA_MmVerifierDataAddr ULONG64 Gibt die Adresse der Kernelvariable MmVerifierData-zurück.
DEBUG_DATA_MmAllocatedNonPagedPoolAddr ULONG64 Gibt die Adresse der Kernelvariable MmAllocatedNonPagedPoolzurück.
DEBUG_DATA_MmPeakCommitmentAddr ULONG64 Gibt die Adresse der Kernelvariable MmPeakCommitmentzurück.
DEBUG_DATA_MmTotalCommitLimitMaximumAddr ULONG64 Gibt die Adresse der Kernelvariable MmTotalCommitLimitMaximumzurück.
DEBUG_DATA_CmNtCSDVersionAddr ULONG64 Gibt die Adresse der Kernelvariable CmNtCSDVersionzurück.
DEBUG_DATA_MmPhysicalMemoryBlockAddr ULONG64 Gibt die Adresse der Kernelvariable MmPhysicalMemoryBlockzurück.
DEBUG_DATA_MmSessionBase ULONG64 Gibt die Adresse der Kernelvariable MmSessionBase-zurück.
DEBUG_DATA_MmSessionSize ULONG64 Gibt die Adresse der Kernelvariable MmSessionSizezurück.
DEBUG_DATA_MmSystemParentTablePage ULONG64 (Nur Itanium) Gibt die Adresse der Kernelvariable MmSystemParentTablePagezurück.
 

Die folgenden Werte gelten für Windows Server 2003 und höhere Versionen von Windows:

Wert Rückgabetyp Beschreibung
DEBUG_DATA_MmVirtualTranslationBase ULONG64 Gibt die Adresse der Kernelvariable MmVirtualTranslationBasezurü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 State Felds 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 BStoreLimit- Felds 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 InheritedFromUniqueProcessId Feld 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 DpcRoutineActive Felds in der KPRCB-Struktur zurück.
DEBUG_DATA_OffsetPrcbCurrentThread USHORT Gibt den Offset des CurrentThread- Felds 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 CpuType Felds in der KPRCB-Struktur zurück.

DEBUG_DATA_OffsetPrcbVendorString USHORT Für Itanium-Prozessoren: Gibt den Offset des ProcessorVendorString Felds in der KPRCB-Struktur zurück.

Für alle anderen Prozessoren: Gibt den Offset des Felds VendorString in der KPRCB-Struktur zurück.

DEBUG_DATA_OffsetPrcbProcessorState USHORT Gibt den Offset des ProcessorState.ContextFrame-Felds in der KPRCB-Struktur zurück.
DEBUG_DATA_OffsetPrcbNumber USHORT Gibt den Offset des felds Number 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 KdPrintCircularBufferzurück.
DEBUG_DATA_KdPrintBufferSizeAddr ULONG64 Gibt die Adresse der Kernelvariable KdPrintBufferSizezurü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 sie Puffer in einen Zeiger auf diesen Typ umwandeln.

[in] BufferSize

Gibt die Größe in Byte des Puffers Puffer-an.

[out, optional] DataSize

Empfängt die Anzahl der im Puffer verwendeten Bytes Puffer-. Wenn DataSize-NULL-ist, werden diese Informationen nicht zurückgegeben.

Rückgabewert

Rückgabecode Beschreibung
S_OK
Die Methode war erfolgreich.
 

Diese Methode kann auch Fehlerwerte zurückgeben. Weitere Informationen finden Sie unter Rückgabewerte.

Bemerkungen

Einige oder alle Werte sind in bestimmten Debugsitzungen möglicherweise nicht verfügbar. Einige der Werte sind beispielsweise nur für bestimmte Versionen des Betriebssystems verfügbar.

Ausführliche Informationen zu den verschiedenen Werten, die von ReadDebuggerDatazurückgegeben werden, finden Sie unter Microsoft Windows Internals von David Solomon und Mark Russinovich, dem Microsoft Windows SDK und dem Windows Driver Kit (WDK).

Anforderungen

Anforderung Wert
Zielplattform- Desktop
Header- dbgeng.h (include Dbgeng.h)