Metodo IDebugDataSpaces2::ReadDebuggerData (dbgeng.h)
Il metodo ReadDebuggerData restituisce informazioni sulla destinazione su 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 altri elementi.
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 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 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 kernel MmPfnDatabase. |
DEBUG_DATA_MmSystemPtesStartAddr | ULONG64 | Restituisce la variabile kernel MmSystemPtesStart. |
DEBUG_DATA_MmSystemPtesEndAddr | ULONG64 | Restituisce la variabile kernel MmSystemPtesEnd. |
DEBUG_DATA_MmSubsectionBaseAddr | ULONG64 | Restituisce l'indirizzo della variabile kernel MmSubsectionBase. |
DEBUG_DATA_MmNumberOfPagingFilesAddr | ULONG64 | Restituisce l'indirizzo della variabile 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 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 kernel MmNonPagedPoolEnd. |
DEBUG_DATA_MmPagedPoolStartAddr | ULONG64 | Restituisce l'indirizzo della variabile kernel MmPagedPoolStart. |
DEBUG_DATA_MmPagedPoolEndAddr | ULONG64 | Restituisce l'indirizzo della variabile kernel MmPagedPoolEnd. |
DEBUG_DATA_MmPagedPoolInformationAddr | ULONG64 | Restituisce l'indirizzo della variabile kernel MmPagedPoolInfo. |
DEBUG_DATA_MmPageSize | ULONG64 | Restituisce le dimensioni della pagina. |
DEBUG_DATA_MmSizeOfPagedPoolInBytesAddr | ULONG64 | Restituisce l'indirizzo della variabile kernel MmSizeOfPagedPoolInBytes. |
DEBUG_DATA_MmTotalCommitLimitAddr | ULONG64 | Restituisce l'indirizzo della variabile kernel MmTotalCommitLimit. |
DEBUG_DATA_MmTotalCommittedPagesAddr | ULONG64 | Restituisce l'indirizzo della variabile kernel MmTotalCommittedPages. |
DEBUG_DATA_MmSharedCommitAddr | ULONG64 | Restituisce l'indirizzo della variabile kernel MmSharedCommit. |
DEBUG_DATA_MmDriverCommitAddr | ULONG64 | Restituisce l'indirizzo della variabile kernel MmDriverCommit. |
DEBUG_DATA_MmProcessCommitAddr | ULONG64 | Restituisce l'indirizzo della variabile kernel MmProcessCommit. |
DEBUG_DATA_MmPagedPoolCommitAddr | ULONG64 | Restituisce l'indirizzo della variabile kernel MmPagedPoolCommit. |
DEBUG_DATA_MmExtendedCommitAddr | ULONG64 | Restituisce l'indirizzo della variabile kernel MmExtendedCommit.. |
DEBUG_DATA_MmZeroedPageListHeadAddr | ULONG64 | Restituisce l'indirizzo della variabile kernel MmZeroedPageListHead. |
DEBUG_DATA_MmFreePageListHeadAddr | ULONG64 | Restituisce l'indirizzo della variabile kernel MmFreePageListHead. |
DEBUG_DATA_MmStandbyPageListHeadAddr | ULONG64 | Restituisce l'indirizzo della variabile kernel MmStandbyPageListHead. |
DEBUG_DATA_MmModifiedPageListHeadAddr | ULONG64 | Restituisce l'indirizzo della variabile kernel MmModifiedPageListHead. |
DEBUG_DATA_MmModifiedNoWritePageListHeadAddr | ULONG64 | Restituisce l'indirizzo della variabile kernel MmModifiedNoWritePageListHead. |
DEBUG_DATA_MmAvailablePagesAddr | ULONG64 | Restituisce l'indirizzo della variabile 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 kernel MmUserProbeAddress. |
DEBUG_DATA_KdPrintCircularBufferAddr | ULONG64 | Restituisce la variabile 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 | BOOLEANO |
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 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, documentata in Windows SDK. |
DEBUG_DATA_DumpWriterStatus | ULONG | Restituisce lo stato del writer del file di dump. Questo valore è il sistema operativo e il tipo di file dump specifico. |
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 stato 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 |
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 |
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. È possibile accedere ai dati eseguendo il cast 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 utilizzati nel buffer Buffer. Se DataSize è null, queste informazioni non vengono restituite.
Valore restituito
Codice restituito | Descrizione |
---|---|
|
Il metodo ha avuto esito positivo. |
Questo metodo può anche restituire valori di errore. Per altri dettagli, vedere valori restituiti.
Osservazioni
Alcuni o tutti i valori potrebbero non essere disponibili in determinate sessioni di debug. Ad esempio, alcuni dei valori sono disponibili solo per versioni specifiche del sistema operativo.
Per informazioni dettagliate sui diversi valori restituiti da ReadDebuggerData, vedere Microsoft Windows Internals di David Solomon e Mark Russinovich, Microsoft Windows SDK e Windows Driver Kit (WDK).
Fabbisogno
Requisito | Valore |
---|---|
piattaforma di destinazione | Desktop |
intestazione | dbgeng.h (include Dbgeng.h) |