Método IDebugDataSpaces::ReadDebuggerData (dbgeng.h)
El método ReadDebuggerData devuelve información sobre el destino que el motor del depurador ha consultado o determinado durante la sesión actual. La información disponible incluye las ubicaciones de determinadas ubicaciones de kernel de destino clave, valores de estado específicos y otras cosas.
Sintaxis
HRESULT ReadDebuggerData(
[in] ULONG Index,
[out] PVOID Buffer,
[in] ULONG BufferSize,
[out, optional] PULONG DataSize
);
Parámetros
[in] Index
Especifica el índice de los datos que se van a recuperar. Valores válidos son:
Valor | Tipo de valor devuelto | Descripción |
---|---|---|
DEBUG_DATA_KernBase | ULONG64 | Devuelve la dirección base de la imagen del kernel. |
DEBUG_DATA_BreakpointWithStatusAddr | ULONG64 | Devuelve la dirección de la función kernel BreakpointWithStatusInstruction. |
DEBUG_DATA_SavedContextAddr | ULONG64 | Devuelve la dirección del registro de contexto guardado durante una comprobación de errores. Solo es válido después de una comprobación de errores. |
DEBUG_DATA_KiCallUserModeAddr | ULONG64 | Devuelve la dirección de la función de kernel KiCallUserMode. |
DEBUG_DATA_KeUserCallbackDispatcherAddr | ULONG64 | Devuelve la variable de kernel KeUserCallbackDispatcher. |
DEBUG_DATA_PsLoadedModuleListAddr | ULONG64 | Devuelve la dirección de la variable kernel PsLoadedModuleList. |
DEBUG_DATA_PsActiveProcessHeadAddr | ULONG64 | Devuelve la dirección de la variable kernel PsActiveProcessHead. |
DEBUG_DATA_PspCidTableAddr | ULONG64 | Devuelve la dirección de la variable kernel PspCidTable. |
DEBUG_DATA_ExpSystemResourcesListAddr | ULONG64 | Devuelve la dirección de la variable kernel ExpSystemResourcesList. |
DEBUG_DATA_ExpPagedPoolDescriptorAddr | ULONG64 | Devuelve la dirección de la variable kernel ExpPagedPoolDescriptor. |
DEBUG_DATA_ExpNumberOfPagedPoolsAddr | ULONG64 | Devuelve la dirección de la variable kernel ExpNumberOfPagedPools. |
DEBUG_DATA_KeTimeIncrementAddr | ULONG64 | Devuelve la dirección de la variable de kernel KeTimeIncrement. |
DEBUG_DATA_KeBugCheckCallbackListHeadAddr | ULONG64 | Devuelve la dirección de la variable de kernel KeBugCheckCallbackListHead. |
DEBUG_DATA_KiBugcheckDataAddr | ULONG64 | Devuelve la variable de kernel KiBugCheckData. |
DEBUG_DATA_IopErrorLogListHeadAddr | ULONG64 | Devuelve la dirección de la variable kernel IopErrorLogListHead. |
DEBUG_DATA_ObpRootDirectoryObjectAddr | ULONG64 | Devuelve la dirección de la variable de kernel ObpRootDirectoryObject. |
DEBUG_DATA_ObpTypeObjectTypeAddr | ULONG64 | Devuelve la dirección de la variable de kernel ObpTypeObjectType. |
DEBUG_DATA_MmSystemCacheStartAddr | ULONG64 | Devuelve la dirección de la variable de kernel MmSystemCacheStart. |
DEBUG_DATA_MmSystemCacheEndAddr | ULONG64 | Devuelve la dirección de la variable de kernel MmSystemCacheEnd. |
DEBUG_DATA_MmSystemCacheWsAddr | ULONG64 | Devuelve la dirección de la variable de kernel MmSystemCacheWs. |
DEBUG_DATA_MmPfnDatabaseAddr | ULONG64 | Devuelve la dirección de la variable de kernel MmPfnDatabase. |
DEBUG_DATA_MmSystemPtesStartAddr | ULONG64 | Devuelve la variable de kernel MmSystemPtesStart. |
DEBUG_DATA_MmSystemPtesEndAddr | ULONG64 | Devuelve la variable de kernel MmSystemPtesEnd. |
DEBUG_DATA_MmSubsectionBaseAddr | ULONG64 | Devuelve la dirección de la variable de kernel MmSubsectionBase. |
DEBUG_DATA_MmNumberOfPagingFilesAddr | ULONG64 | Devuelve la dirección de la variable de kernel MmNumberOfPagingFiles. |
DEBUG_DATA_MmLowestPhysicalPageAddr | ULONG64 | Devuelve la dirección de la variable kernel MmLowestPhysicalPage. |
DEBUG_DATA_MmHighestPhysicalPageAddr | ULONG64 | Devuelve la dirección de la variable kernel MmHighestPhysicalPage. |
DEBUG_DATA_MmNumberOfPhysicalPagesAddr | ULONG64 | Devuelve la dirección de la variable de kernel MmNumberOfPhysicalPages. |
DEBUG_DATA_MmMaximumNonPagedPoolInBytesAddr | ULONG64 | Devuelve la dirección de la variable de kernel MmMaximumNonPagedPoolInBytes. |
DEBUG_DATA_MmNonPagedSystemStartAddr | ULONG64 | Devuelve la dirección de la variable kernel MmNonPagedSystemStart. |
DEBUG_DATA_MmNonPagedPoolStartAddr | ULONG64 | Devuelve la dirección de la variable kernel MmNonPagedPoolStart. |
DEBUG_DATA_MmNonPagedPoolEndAddr | ULONG64 | Devuelve la dirección de la variable kernel MmNonPagedPoolEnd. |
DEBUG_DATA_MmPagedPoolStartAddr | ULONG64 | Devuelve la dirección de la variable de kernel MmPagedPoolStart. |
DEBUG_DATA_MmPagedPoolEndAddr | ULONG64 | Devuelve la dirección de la variable de kernel MmPagedPoolEnd. |
DEBUG_DATA_MmPagedPoolInformationAddr | ULONG64 | Devuelve la dirección de la variable de kernel MmPagedPoolInfo. |
DEBUG_DATA_MmPageSize | ULONG64 | Devuelve el tamaño de página. |
DEBUG_DATA_MmSizeOfPagedPoolInBytesAddr | ULONG64 | Devuelve la dirección de la variable de kernel MmSizeOfPagedPoolInBytes. |
DEBUG_DATA_MmTotalCommitLimitAddr | ULONG64 | Devuelve la dirección de la variable kernel MmTotalCommitLimit. |
DEBUG_DATA_MmTotalCommittedPagesAddr | ULONG64 | Devuelve la dirección de la variable kernel MmTotalCommittedPages. |
DEBUG_DATA_MmSharedCommitAddr | ULONG64 | Devuelve la dirección de la variable kernel MmSharedCommit. |
DEBUG_DATA_MmDriverCommitAddr | ULONG64 | Devuelve la dirección de la variable de kernel MmDriverCommit. |
DEBUG_DATA_MmProcessCommitAddr | ULONG64 | Devuelve la dirección de la variable de kernel MmProcessCommit. |
DEBUG_DATA_MmPagedPoolCommitAddr | ULONG64 | Devuelve la dirección de la variable de kernel MmPagedPoolCommit. |
DEBUG_DATA_MmExtendedCommitAddr | ULONG64 | Devuelve la dirección de la variable de kernel MmExtendedCommit.. |
DEBUG_DATA_MmZeroedPageListHeadAddr | ULONG64 | Devuelve la dirección de la variable kernel MmZeroedPageListHead. |
DEBUG_DATA_MmFreePageListHeadAddr | ULONG64 | Devuelve la dirección de la variable de kernel MmFreePageListHead. |
DEBUG_DATA_MmStandbyPageListHeadAddr | ULONG64 | Devuelve la dirección de la variable de kernel MmStandbyPageListHead. |
DEBUG_DATA_MmModifiedPageListHeadAddr | ULONG64 | Devuelve la dirección de la variable kernel MmModifiedPageListHead. |
DEBUG_DATA_MmModifiedNoWritePageListHeadAddr | ULONG64 | Devuelve la dirección de la variable kernel MmModifiedNoWritePageListHead. |
DEBUG_DATA_MmAvailablePagesAddr | ULONG64 | Devuelve la dirección de la variable de kernel MmAvailablePages. |
DEBUG_DATA_MmResidentAvailablePagesAddr | ULONG64 | Devuelve la dirección de la variable kernel MmResidentAvailablePages. |
DEBUG_DATA_PoolTrackTableAddr | ULONG64 | Devuelve la dirección de la variable kernel PoolTrackTable. |
DEBUG_DATA_NonPagedPoolDescriptorAddr | ULONG64 | Devuelve la dirección de la variable de kernel NonPagedPoolDescriptor. |
DEBUG_DATA_MmHighestUserAddressAddr | ULONG64 | Devuelve la dirección de la variable kernel MmHighestUserAddress. |
DEBUG_DATA_MmSystemRangeStartAddr | ULONG64 | Devuelve la dirección de la variable de kernel MmSystemRangeStart. |
DEBUG_DATA_MmUserProbeAddressAddr | ULONG64 | Devuelve la dirección de la variable de kernel MmUserProbeAddress. |
DEBUG_DATA_KdPrintCircularBufferAddr | ULONG64 | Devuelve la variable kernel KdPrintDefaultCircularBuffer. |
DEBUG_DATA_KdPrintCircularBufferEndAddr | ULONG64 | Devuelve la dirección del final de la matriz KdPrintDefaultCircularBuffer. |
DEBUG_DATA_KdPrintWritePointerAddr | ULONG64 | Devuelve la dirección de la variable kernel KdPrintWritePointer. |
DEBUG_DATA_KdPrintRolloverCountAddr | ULONG64 | Devuelve la dirección de la variable kernel KdPrintRolloverCount. |
DEBUG_DATA_MmLoadedUserImageListAddr | ULONG64 | Devuelve la dirección de la variable de kernel MmLoadedUserImageList. |
DEBUG_DATA_PaeEnabled | BOOLEAN |
Devuelve TRUE cuando el sistema de destino tiene habilitado PAE.
Devuelve FALSE de lo contrario. |
DEBUG_DATA_SharedUserData | ULONG64 |
Devuelve la dirección en el destino de la estructura del modo de usuario compartido, KUSER_SHARED_DATA. La estructura KUSER_SHARED_DATA se define en ntddk.h (en el Kit de controladores de Windows) y ntexapi.h (en Windows SDK).
Parte de la información contenida en esta estructura se muestra mediante la extensión del depurador !kuser. |
DEBUG_DATA_ProductType | ULONG |
Devuelve el valor del campo NtProductType en la página del modo de usuario compartido.
Este valor debe interpretarse del mismo modo que el campo wProductType de la estructura OSVERSIONINFOEX, que se documenta en Windows SDK. |
DEBUG_DATA_SuiteMask | ULONG |
Devuelve el valor del campo SuiteMask en la página del modo de usuario compartido.
Este valor debe interpretarse del mismo modo que el campo wSuiteMask de la estructura OSVERSIONINFOEX, que se documenta en Windows SDK. |
DEBUG_DATA_DumpWriterStatus | ULONG | Devuelve el estado del escritor del archivo de volcado de memoria. Este valor es específico del sistema operativo y del tipo de archivo de volcado. |
Los valores siguientes son válidos para Windows XP y versiones posteriores de Windows:
Valor | Tipo de valor devuelto | Descripción |
---|---|---|
DEBUG_DATA_NtBuildLabAddr | ULONG64 | Devuelve la dirección de la variable de kernel NtBuildLab. |
DEBUG_DATA_KiNormalSystemCall | ULONG64 | (Solo Itanium) Devuelve la dirección de la función de kernel KiNormalSystemCall. |
DEBUG_DATA_KiProcessorBlockAddr | ULONG64 | Devuelve la variable de kernel KiProcessorBlock. |
DEBUG_DATA_MmUnloadedDriversAddr | ULONG64 | Devuelve la dirección de la variable de kernel MmUnloadedDrivers. |
DEBUG_DATA_MmLastUnloadedDriverAddr | ULONG64 | Devuelve la dirección de la variable de kernel MmLastUnloadedDriver. |
DEBUG_DATA_MmTriageActionTakenAddr | ULONG64 | Devuelve la dirección de la variable kernel VerifierTriageActionTaken. |
DEBUG_DATA_MmSpecialPoolTagAddr | ULONG64 | Devuelve la dirección de la variable de kernel MmSpecialPoolTag. |
DEBUG_DATA_KernelVerifierAddr | ULONG64 | Devuelve la dirección de la variable kernel KernelVerifier. |
DEBUG_DATA_MmVerifierDataAddr | ULONG64 | Devuelve la dirección de la variable de kernel MmVerifierData. |
DEBUG_DATA_MmAllocatedNonPagedPoolAddr | ULONG64 | Devuelve la dirección de la variable kernel MmAllocatedNonPagedPool. |
DEBUG_DATA_MmPeakCommitmentAddr | ULONG64 | Devuelve la dirección de la variable de kernel MmPeakCommitment. |
DEBUG_DATA_MmTotalCommitLimitMaximumAddr | ULONG64 | Devuelve la dirección de la variable kernel MmTotalCommitLimitMaximum. |
DEBUG_DATA_CmNtCSDVersionAddr | ULONG64 | Devuelve la dirección de la variable de kernel CmNtCSDVersion. |
DEBUG_DATA_MmPhysicalMemoryBlockAddr | ULONG64 | Devuelve la dirección de la variable kernel MmPhysicalMemoryBlock. |
DEBUG_DATA_MmSessionBase | ULONG64 | Devuelve la dirección de la variable de kernel MmSessionBase. |
DEBUG_DATA_MmSessionSize | ULONG64 | Devuelve la dirección de la variable de kernel MmSessionSize. |
DEBUG_DATA_MmSystemParentTablePage | ULONG64 | (Solo Itanium) Devuelve la dirección de la variable de kernel MmSystemParentTablePage. |
Los valores siguientes son válidos para Windows Server 2003 y versiones posteriores de Windows:
Valor | Tipo de valor devuelto | Descripción |
---|---|---|
DEBUG_DATA_MmVirtualTranslationBase | ULONG64 | Devuelve la dirección de la variable kernel MmVirtualTranslationBase. |
DEBUG_DATA_OffsetKThreadNextProcessor | USHORT | Devuelve el desplazamiento del campo NextProcessor en la estructura KTHREAD. |
DEBUG_DATA_OffsetKThreadTeb | USHORT | Devuelve el desplazamiento del campo Teb en la estructura KTHREAD. |
DEBUG_DATA_OffsetKThreadKernelStack | USHORT | Devuelve el desplazamiento del campo KernelStack en la estructura KTHREAD. |
DEBUG_DATA_OffsetKThreadInitialStack | USHORT | Devuelve el desplazamiento del campo InitialStack en la estructura KTHREAD. |
DEBUG_DATA_OffsetKThreadApcProcess | USHORT | Devuelve el desplazamiento del campo ApcState.Process en la estructura KTHREAD. |
DEBUG_DATA_OffsetKThreadState | USHORT | Devuelve el desplazamiento del campo Estado en la estructura KTHREAD. |
DEBUG_DATA_OffsetKThreadBStore | USHORT | (Solo Itanium) Devuelve el desplazamiento del campo InitialBStore en la estructura KTHREAD. |
DEBUG_DATA_OffsetKThreadBStoreLimit | USHORT | (Solo Itanium) Devuelve el desplazamiento del campo BStoreLimit en la estructura KTHREAD. |
DEBUG_DATA_SizeEProcess | USHORT | Devuelve el tamaño de la estructura EPROCESS. |
DEBUG_DATA_OffsetEprocessPeb | USHORT | Devuelve el desplazamiento del campo Peb en la estructura EPROCESS. |
DEBUG_DATA_OffsetEprocessParentCID | USHORT | Devuelve el desplazamiento del campo InheritedFromUniqueProcessId en la estructura EPROCESS. |
DEBUG_DATA_OffsetEprocessDirectoryTableBase | USHORT | Devuelve el desplazamiento del campo DirectoryTableBase en la estructura EPROCESS. |
DEBUG_DATA_SizePrcb | USHORT | Devuelve el tamaño de la estructura KPRCB. |
DEBUG_DATA_OffsetPrcbDpcRoutine | USHORT | Devuelve el desplazamiento del campo DpcRoutineActive en la estructura KPRCB. |
DEBUG_DATA_OffsetPrcbCurrentThread | USHORT | Devuelve el desplazamiento del campo CurrentThread en la estructura KPRCB. |
DEBUG_DATA_OffsetPrcbMhz | USHORT | Devuelve el desplazamiento del campo MHz en la estructura KPRCB. |
DEBUG_DATA_OffsetPrcbCpuType | USHORT |
Para procesadores Itanium: Devuelve el desplazamiento del campo ProcessorModel en la estructura KPRCB.
Para todos los demás procesadores: Devuelve el desplazamiento del campo CpuType en la estructura KPRCB. |
DEBUG_DATA_OffsetPrcbVendorString | USHORT |
Para procesadores Itanium: Devuelve el desplazamiento del campo ProcessorVendorString en la estructura KPRCB.
Para todos los demás procesadores: Devuelve el desplazamiento del campo VendorString en la estructura KPRCB. |
DEBUG_DATA_OffsetPrcbProcessorState | USHORT | Devuelve el desplazamiento del campo ProcessorState.ContextFrame en la estructura KPRCB. |
DEBUG_DATA_OffsetPrcbNumber | USHORT | Devuelve el desplazamiento del campo Número en la estructura KPRCB. |
DEBUG_DATA_SizeEThread | USHORT | Devuelve el tamaño de la estructura ETHREAD. |
DEBUG_DATA_KdPrintCircularBufferPtrAddr | ULONG64 | Devuelve la dirección de la variable kernel KdPrintCircularBuffer. |
DEBUG_DATA_KdPrintBufferSizeAddr | ULONG64 | Devuelve la dirección de la variable kernel KdPrintBufferSize. |
[out] Buffer
Recibe el valor de los datos del depurador especificados. La columna "Tipo de valor devuelto" de la tabla anterior especifica el tipo de datos que se devuelve. Se puede acceder a los datos mediante la conversión del búfer en un puntero a ese tipo.
[in] BufferSize
Especifica el tamaño en bytes del búfer de búfer.
[out, optional] DataSize
Recibe el número de bytes usados en el búfer de búfer. Si DataSize es NULL, esta información no se devuelve.
Valor devuelto
Código devuelto | Descripción |
---|---|
|
Método realizado correctamente. |
Este método también puede devolver valores de error. Consulte Valores devueltos para obtener más detalles.
Comentarios
Algunos o todos los valores pueden no estar disponibles en determinadas sesiones de depuración. Por ejemplo, algunos de los valores solo están disponibles para versiones concretas del sistema operativo.
Para obtener más información sobre los diferentes valores devueltos por ReadDebuggerData, consulta Microsoft Windows Internals by David Salomón y Mark Russinovich, the Microsoft Windows SDK, and the Windows Driver Kit (WDK).
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Escritorio |
Encabezado | dbgeng.h (include Dbgeng.h) |