Condividi tramite


Metodo IDebugDataSpaces4::ReadDebuggerData (dbgeng.h)

Il metodo ReadDebuggerData restituisce informazioni sulla destinazione in cui il motore del debugger ha eseguito query o determinato durante la sessione corrente. Le informazioni disponibili includono le posizioni di determinati percorsi del kernel di destinazione chiave, valori di stato specifici e una serie di altre cose.

Sintassi

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

Parametri

[in] Index

Specifica l'indice dei dati da recuperare. I valori seguenti sono validi:

Valore Tipo restituito Descrizione
DEBUG_DATA_KernBase ULONG64 Restituisce l'indirizzo di base dell'immagine del kernel.
DEBUG_DATA_BreakpointWithStatusAddr ULONG64 Restituisce l'indirizzo della funzione kernel BreakpointWithStatusInstruction.
DEBUG_DATA_SavedContextAddr ULONG64 Restituisce l'indirizzo del record di contesto salvato durante un controllo di bug. È valido solo dopo un controllo di bug.
DEBUG_DATA_KiCallUserModeAddr ULONG64 Restituisce l'indirizzo della funzione kernel KiCallUserMode.
DEBUG_DATA_KeUserCallbackDispatcherAddr ULONG64 Restituisce la variabile kernel KeUserCallbackDispatcher.
DEBUG_DATA_PsLoadedModuleListAddr ULONG64 Restituisce l'indirizzo della variabile kernel PsLoadedModuleList.
DEBUG_DATA_PsActiveProcessHeadAddr ULONG64 Restituisce l'indirizzo della variabile kernel PsActiveProcessHead.
DEBUG_DATA_PspCidTableAddr ULONG64 Restituisce l'indirizzo della variabile kernel PspCidTable.
DEBUG_DATA_ExpSystemResourcesListAddr ULONG64 Restituisce l'indirizzo della variabile kernel ExpSystemResourcesList.
DEBUG_DATA_ExpPagedPoolDescriptorAddr ULONG64 Restituisce l'indirizzo della variabile kernel ExpPagedPoolDescriptor.
DEBUG_DATA_ExpNumberOfPagedPoolsAddr ULONG64 Restituisce l'indirizzo della variabile kernel ExpNumberOfPagedPools.
DEBUG_DATA_KeTimeIncrementAddr ULONG64 Restituisce l'indirizzo della variabile kernel KeTimeIncrement.
DEBUG_DATA_KeBugCheckCallbackListHeadAddr ULONG64 Restituisce l'indirizzo della variabile kernel KeBugCheckCallbackListHead.
DEBUG_DATA_KiBugcheckDataAddr ULONG64 Restituisce la variabile kernel KiBugCheckData.
DEBUG_DATA_IopErrorLogListHeadAddr ULONG64 Restituisce l'indirizzo della variabile kernel IopErrorLogListHead.
DEBUG_DATA_ObpRootDirectoryObjectAddr ULONG64 Restituisce l'indirizzo della variabile kernel ObpRootDirectoryObject.
DEBUG_DATA_ObpTypeObjectTypeAddr ULONG64 Restituisce l'indirizzo della variabile del kernel ObpTypeObjectType.
DEBUG_DATA_MmSystemCacheStartAddr ULONG64 Restituisce l'indirizzo della variabile kernel MmSystemCacheStart.
DEBUG_DATA_MmSystemCacheEndAddr ULONG64 Restituisce l'indirizzo della variabile kernel MmSystemCacheEnd.
DEBUG_DATA_MmSystemCacheWsAddr ULONG64 Restituisce l'indirizzo della variabile kernel MmSystemCacheWs.
DEBUG_DATA_MmPfnDatabaseAddr ULONG64 Restituisce l'indirizzo della variabile del kernel MmPfnDatabase.
DEBUG_DATA_MmSystemPtesStartAddr ULONG64 Restituisce la variabile del kernel MmSystemPtesStart.
DEBUG_DATA_MmSystemPtesEndAddr ULONG64 Restituisce la variabile del kernel MmSystemPtesEnd.
DEBUG_DATA_MmSubsectionBaseAddr ULONG64 Restituisce l'indirizzo della variabile kernel MmSubsectionBase.
DEBUG_DATA_MmNumberOfPagingFilesAddr ULONG64 Restituisce l'indirizzo della variabile del kernel MmNumberOfPagingFiles.
DEBUG_DATA_MmLowestPhysicalPageAddr ULONG64 Restituisce l'indirizzo della variabile kernel MmLowestPhysicalPage.
DEBUG_DATA_MmHighestPhysicalPageAddr ULONG64 Restituisce l'indirizzo della variabile kernel MmHighestPhysicalPage.
DEBUG_DATA_MmNumberOfPhysicalPagesAddr ULONG64 Restituisce l'indirizzo della variabile del kernel MmNumberOfPhysicalPages.
DEBUG_DATA_MmMaximumNonPagedPoolInBytesAddr ULONG64 Restituisce l'indirizzo della variabile kernel MmMaximumNonPagedPoolInBytes.
DEBUG_DATA_MmNonPagedSystemStartAddr ULONG64 Restituisce l'indirizzo della variabile kernel MmNonPagedSystemStart.
DEBUG_DATA_MmNonPagedPoolStartAddr ULONG64 Restituisce l'indirizzo della variabile kernel MmNonPagedPoolStart.
DEBUG_DATA_MmNonPagedPoolEndAddr ULONG64 Restituisce l'indirizzo della variabile del kernel MmNonPagedPoolEnd.
DEBUG_DATA_MmPagedPoolStartAddr ULONG64 Restituisce l'indirizzo della variabile del kernel MmPagedPoolStart.
DEBUG_DATA_MmPagedPoolEndAddr ULONG64 Restituisce l'indirizzo della variabile del kernel MmPagedPoolEnd.
DEBUG_DATA_MmPagedPoolInformationAddr ULONG64 Restituisce l'indirizzo della variabile del kernel MmPagedPoolInfo.
DEBUG_DATA_MmPageSize ULONG64 Restituisce le dimensioni della pagina.
DEBUG_DATA_MmSizeOfPagedPoolInBytesAddr ULONG64 Restituisce l'indirizzo della variabile del kernel MmSizeOfPagedPoolInBytes.
DEBUG_DATA_MmTotalCommitLimitAddr ULONG64 Restituisce l'indirizzo della variabile del kernel MmTotalCommitLimit.
DEBUG_DATA_MmTotalCommittedPagesAddr ULONG64 Restituisce l'indirizzo della variabile kernel MmTotalCommittedPages.
DEBUG_DATA_MmSharedCommitAddr ULONG64 Restituisce l'indirizzo della variabile del kernel MmSharedCommit.
DEBUG_DATA_MmDriverCommitAddr ULONG64 Restituisce l'indirizzo della variabile kernel MmDriverCommit.
DEBUG_DATA_MmProcessCommitAddr ULONG64 Restituisce l'indirizzo della variabile del kernel MmProcessCommit.
DEBUG_DATA_MmPagedPoolCommitAddr ULONG64 Restituisce l'indirizzo della variabile del kernel MmPagedPoolCommit.
DEBUG_DATA_MmExtendedCommitAddr ULONG64 Restituisce l'indirizzo della variabile del kernel MmExtendedCommit..
DEBUG_DATA_MmZeroedPageListHeadAddr ULONG64 Restituisce l'indirizzo della variabile kernel MmZeroedPageListHead.
DEBUG_DATA_MmFreePageListHeadAddr ULONG64 Restituisce l'indirizzo della variabile del kernel MmFreePageListHead.
DEBUG_DATA_MmStandbyPageListHeadAddr ULONG64 Restituisce l'indirizzo della variabile kernel MmStandbyPageListHead.
DEBUG_DATA_MmModifiedPageListHeadAddr ULONG64 Restituisce l'indirizzo della variabile del kernel MmModifiedPageListHead.
DEBUG_DATA_MmModifiedNoWritePageListHeadAddr ULONG64 Restituisce l'indirizzo della variabile del kernel MmModifiedNoWritePageListHead.
DEBUG_DATA_MmAvailablePagesAddr ULONG64 Restituisce l'indirizzo della variabile del kernel MmAvailablePages.
DEBUG_DATA_MmResidentAvailablePagesAddr ULONG64 Restituisce l'indirizzo della variabile kernel MmResidentAvailablePages.
DEBUG_DATA_PoolTrackTableAddr ULONG64 Restituisce l'indirizzo della variabile kernel PoolTrackTable.
DEBUG_DATA_NonPagedPoolDescriptorAddr ULONG64 Restituisce l'indirizzo della variabile kernel NonPagedPoolDescriptor.
DEBUG_DATA_MmHighestUserAddressAddr ULONG64 Restituisce l'indirizzo della variabile kernel MmHighestUserAddress.
DEBUG_DATA_MmSystemRangeStartAddr ULONG64 Restituisce l'indirizzo della variabile kernel MmSystemRangeStart.
DEBUG_DATA_MmUserProbeAddressAddr ULONG64 Restituisce l'indirizzo della variabile del kernel MmUserProbeAddress.
DEBUG_DATA_KdPrintCircularBufferAddr ULONG64 Restituisce la variabile del kernel KdPrintDefaultCircularBuffer.
DEBUG_DATA_KdPrintCircularBufferEndAddr ULONG64 Restituisce l'indirizzo della fine della matrice KdPrintDefaultCircularBuffer
DEBUG_DATA_KdPrintWritePointerAddr ULONG64 Restituisce l'indirizzo della variabile kernel KdPrintWritePointer.
DEBUG_DATA_KdPrintRolloverCountAddr ULONG64 Restituisce l'indirizzo della variabile kernel KdPrintRolloverCount.
DEBUG_DATA_MmLoadedUserImageListAddr ULONG64 Restituisce l'indirizzo della variabile kernel MmLoadedUserImageList.
DEBUG_DATA_PaeEnabled BOOLEAN Restituisce TRUE quando il sistema di destinazione ha abilitato PAE.

Restituisce FALSE in caso contrario.

DEBUG_DATA_SharedUserData ULONG64 Restituisce l'indirizzo nella destinazione della struttura in modalità utente condivisa KUSER_SHARED_DATA. La struttura KUSER_SHARED_DATA è definita in ntddk.h (in Windows Driver Kit) e ntexapi.h (in Windows SDK).

Alcune delle informazioni contenute in questa struttura vengono visualizzate dall'estensione del debugger !kuser.

DEBUG_DATA_ProductType ULONG Restituisce il valore del campo NtProductType nella pagina in modalità utente condivisa.

Questo valore deve essere interpretato allo stesso modo del campo wProductType della struttura OSVERSIONINFOEX, documentato in Windows SDK.

DEBUG_DATA_SuiteMask ULONG Restituisce il valore del campo SuiteMask nella pagina in modalità utente condivisa.

Questo valore deve essere interpretato allo stesso modo del campo wSuiteMask della struttura OSVERSIONINFOEX, documentato in Windows SDK.

DEBUG_DATA_DumpWriterStatus ULONG Restituisce lo stato del writer del file di dump. Questo valore è specifico del sistema operativo e del tipo di file dump.
 

I valori seguenti sono validi per Windows XP e versioni successive di Windows:

Valore Tipo restituito Descrizione
DEBUG_DATA_NtBuildLabAddr ULONG64 Restituisce l'indirizzo della variabile kernel NtBuildLab.
DEBUG_DATA_KiNormalSystemCall ULONG64 (solo Itanium) Restituisce l'indirizzo della funzione kernel KiNormalSystemCall.
DEBUG_DATA_KiProcessorBlockAddr ULONG64 Restituisce la variabile kernel KiProcessorBlock.
DEBUG_DATA_MmUnloadedDriversAddr ULONG64 Restituisce l'indirizzo della variabile kernel MmUnloadedDrivers.
DEBUG_DATA_MmLastUnloadedDriverAddr ULONG64 Restituisce l'indirizzo della variabile kernel MmLastUnloadedDriver.
DEBUG_DATA_MmTriageActionTakenAddr ULONG64 Restituisce l'indirizzo della variabile kernel VerifierTriageActionTaken.
DEBUG_DATA_MmSpecialPoolTagAddr ULONG64 Restituisce l'indirizzo della variabile kernel MmSpecialPoolTag.
DEBUG_DATA_KernelVerifierAddr ULONG64 Restituisce l'indirizzo della variabile kernel KernelVerifier.
DEBUG_DATA_MmVerifierDataAddr ULONG64 Restituisce l'indirizzo della variabile kernel MmVerifierData.
DEBUG_DATA_MmAllocatedNonPagedPoolAddr ULONG64 Restituisce l'indirizzo della variabile kernel MmAllocatedNonPagedPool.
DEBUG_DATA_MmPeakCommitmentAddr ULONG64 Restituisce l'indirizzo della variabile kernel MmPeakCommitment.
DEBUG_DATA_MmTotalCommitLimitMaximumAddr ULONG64 Restituisce l'indirizzo della variabile kernel MmTotalCommitLimitMaximum.
DEBUG_DATA_CmNtCSDVersionAddr ULONG64 Restituisce l'indirizzo della variabile kernel CmNtCSDVersion.
DEBUG_DATA_MmPhysicalMemoryBlockAddr ULONG64 Restituisce l'indirizzo della variabile kernel MmPhysicalMemoryBlock.
DEBUG_DATA_MmSessionBase ULONG64 Restituisce l'indirizzo della variabile kernel MmSessionBase.
DEBUG_DATA_MmSessionSize ULONG64 Restituisce l'indirizzo della variabile kernel MmSessionSize.
DEBUG_DATA_MmSystemParentTablePage ULONG64 (solo Itanium) Restituisce l'indirizzo della variabile kernel MmSystemParentTablePage.
 

I valori seguenti sono validi per Windows Server 2003 e versioni successive di Windows:

Valore Tipo restituito Descrizione
DEBUG_DATA_MmVirtualTranslationBase ULONG64 Restituisce l'indirizzo della variabile kernel MmVirtualTranslationBase.
DEBUG_DATA_OffsetKThreadNextProcessor USHORT Restituisce l'offset del campo NextProcessor nella struttura KTHREAD.
DEBUG_DATA_OffsetKThreadTeb USHORT Restituisce l'offset del campo Teb nella struttura KTHREAD.
DEBUG_DATA_OffsetKThreadKernelStack USHORT Restituisce l'offset del campo KernelStack nella struttura KTHREAD.
DEBUG_DATA_OffsetKThreadInitialStack USHORT Restituisce l'offset del campo InitialStack nella struttura KTHREAD.
DEBUG_DATA_OffsetKThreadApcProcess USHORT Restituisce l'offset del campo ApcState.Process nella struttura KTHREAD.
DEBUG_DATA_OffsetKThreadState USHORT Restituisce l'offset del campo State nella struttura KTHREAD.
DEBUG_DATA_OffsetKThreadBStore USHORT (solo Itanium) Restituisce l'offset del campo InitialBStore nella struttura KTHREAD.
DEBUG_DATA_OffsetKThreadBStoreLimit USHORT (solo Itanium) Restituisce l'offset del campo BStoreLimit nella struttura KTHREAD.
DEBUG_DATA_SizeEProcess USHORT Restituisce le dimensioni della struttura EPROCESS.
DEBUG_DATA_OffsetEprocessPeb USHORT Restituisce l'offset del campo Peb nella struttura EPROCESS.
DEBUG_DATA_OffsetEprocessParentCID USHORT Restituisce l'offset del campo InheritedFromUniqueProcessId nella struttura EPROCESS.
DEBUG_DATA_OffsetEprocessDirectoryTableBase USHORT Restituisce l'offset del campo DirectoryTableBase nella struttura EPROCESS.
DEBUG_DATA_SizePrcb USHORT Restituisce le dimensioni della struttura KPRCB.
DEBUG_DATA_OffsetPrcbDpcRoutine USHORT Restituisce l'offset del campo DpcRoutineActive nella struttura KPRCB.
DEBUG_DATA_OffsetPrcbCurrentThread USHORT Restituisce l'offset del campo CurrentThread nella struttura KPRCB.
DEBUG_DATA_OffsetPrcbMhz USHORT Restituisce l'offset del campo MHz nella struttura KPRCB.
DEBUG_DATA_OffsetPrcbCpuType USHORT Per i processori Itanium: Restituisce l'offset del campo ProcessorModel nella struttura KPRCB.

Per tutti gli altri processori: Restituisce l'offset del campo CpuType nella struttura KPRCB.

DEBUG_DATA_OffsetPrcbVendorString USHORT Per i processori Itanium: Restituisce l'offset del campo ProcessorVendorString nella struttura KPRCB.

Per tutti gli altri processori: Restituisce l'offset del campo VendorString nella struttura KPRCB.

DEBUG_DATA_OffsetPrcbProcessorState USHORT Restituisce l'offset del campo ProcessorState.ContextFrame nella struttura KPRCB.
DEBUG_DATA_OffsetPrcbNumber USHORT Restituisce l'offset del campo Number nella struttura KPRCB.
DEBUG_DATA_SizeEThread USHORT Restituisce le dimensioni della struttura ETHREAD.
DEBUG_DATA_KdPrintCircularBufferPtrAddr ULONG64 Restituisce l'indirizzo della variabile kernel KdPrintCircularBuffer.
DEBUG_DATA_KdPrintBufferSizeAddr ULONG64 Restituisce l'indirizzo della variabile kernel KdPrintBufferSize.

[out] Buffer

Riceve il valore dei dati del debugger specificati. La colonna "Tipo restituito" nella tabella precedente specifica il tipo di dati restituito. I dati possono essere accessibili tramite il cast del buffer a un puntatore a tale tipo.

[in] BufferSize

Specifica le dimensioni in byte del buffer buffer.

[out, optional] DataSize

Riceve il numero di byte usati nel buffer. Se DataSize è NULL, queste informazioni non vengono restituite.

Valore restituito

Codice restituito Descrizione
S_OK
Il metodo è stato eseguito correttamente.
 

Questo metodo può anche restituire valori di errore. Per altre informazioni, vedere Valori restituiti .

Commenti

Alcuni o tutti i valori potrebbero non essere disponibili in determinate sessioni di debug. Ad esempio, alcuni dei valori sono disponibili solo per le versioni specifiche del sistema operativo.

Per informazioni dettagliate sui diversi valori restituiti da ReadDebuggerData, vedere Microsoft Windows Internals by David Solomon e Mark Russinovich, la Microsoft Windows SDK e Windows Driver Kit (WDK).

Requisiti

Requisito Valore
Piattaforma di destinazione Desktop
Intestazione dbgeng.h (includere Dbgeng.h)