Compartir a través de


Método IDebugDataSpaces2::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 en 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).

La extensión del depurador !kuser muestra parte de la información contenida en esta estructura.

DEBUG_DATA_ProductType ULONG Devuelve el valor del campo NtProductType en la página en 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 en 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 siguientes valores 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 de 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 de 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 de 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 de 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 siguientes valores 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 de 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 de 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 de kernel KdPrintCircularBuffer.
DEBUG_DATA_KdPrintBufferSizeAddr ULONG64 Devuelve la dirección de la variable de 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 a 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, no se devuelve esta información.

Valor devuelto

Código devuelto Descripción
S_OK
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 distintos valores devueltos por ReadDebuggerData, consulta Microsoft Windows Internals by David Solomon and Mark Russinovich, the Microsoft Windows SDK, and the Windows Driver Kit (WDK).

Requisitos

Requisito Value
Plataforma de destino Escritorio
Encabezado dbgeng.h (incluir Dbgeng.h)