Compartilhar via


Método IDebugDataSpaces3::ReadDebuggerData (dbgeng.h)

O método ReadDebuggerData retorna informações sobre o destino que o mecanismo de depurador consultou ou determinou durante a sessão atual. As informações disponíveis incluem os locais de determinados locais de kernel de destino de chave, valores de status específicos e várias outras coisas.

Sintaxe

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

Parâmetros

[in] Index

Especifica o índice dos dados a serem recuperados. Os seguintes valores são válidos:

Valor Tipo de retorno Descrição
DEBUG_DATA_KernBase ULONG64 Retorna o endereço base da imagem do kernel.
DEBUG_DATA_BreakpointWithStatusAddr ULONG64 Retorna o endereço da função de kernel BreakpointWithStatusInstruction.
DEBUG_DATA_SavedContextAddr ULONG64 Retorna o endereço do registro de contexto salvo durante uma verificação de bugs. Ele só é válido após uma verificação de bugs.
DEBUG_DATA_KiCallUserModeAddr ULONG64 Retorna o endereço da função de kernel KiCallUserMode.
DEBUG_DATA_KeUserCallbackDispatcherAddr ULONG64 Retorna a variável de kernel KeUserCallbackDispatcher.
DEBUG_DATA_PsLoadedModuleListAddr ULONG64 Retorna o endereço da variável de kernel PsLoadedModuleList.
DEBUG_DATA_PsActiveProcessHeadAddr ULONG64 Retorna o endereço da variável de kernel PsActiveProcessHead.
DEBUG_DATA_PspCidTableAddr ULONG64 Retorna o endereço da variável de kernel PspCidTable.
DEBUG_DATA_ExpSystemResourcesListAddr ULONG64 Retorna o endereço da variável de kernel ExpSystemResourcesList.
DEBUG_DATA_ExpPagedPoolDescriptorAddr ULONG64 Retorna o endereço da variável de kernel ExpPagedPoolDescriptor.
DEBUG_DATA_ExpNumberOfPagedPoolsAddr ULONG64 Retorna o endereço da variável de kernel ExpNumberOfPagedPools.
DEBUG_DATA_KeTimeIncrementAddr ULONG64 Retorna o endereço da variável de kernel KeTimeIncrement.
DEBUG_DATA_KeBugCheckCallbackListHeadAddr ULONG64 Retorna o endereço da variável de kernel KeBugCheckCallbackListHead.
DEBUG_DATA_KiBugcheckDataAddr ULONG64 Retorna a variável de kernel KiBugCheckData.
DEBUG_DATA_IopErrorLogListHeadAddr ULONG64 Retorna o endereço da variável de kernel IopErrorLogListHead.
DEBUG_DATA_ObpRootDirectoryObjectAddr ULONG64 Retorna o endereço da variável de kernel ObpRootDirectoryObject.
DEBUG_DATA_ObpTypeObjectTypeAddr ULONG64 Retorna o endereço da variável de kernel ObpTypeObjectType.
DEBUG_DATA_MmSystemCacheStartAddr ULONG64 Retorna o endereço da variável de kernel MmSystemCacheStart.
DEBUG_DATA_MmSystemCacheEndAddr ULONG64 Retorna o endereço da variável de kernel MmSystemCacheEnd.
DEBUG_DATA_MmSystemCacheWsAddr ULONG64 Retorna o endereço da variável de kernel MmSystemCacheWs.
DEBUG_DATA_MmPfnDatabaseAddr ULONG64 Retorna o endereço da variável de kernel MmPfnDatabase.
DEBUG_DATA_MmSystemPtesStartAddr ULONG64 Retorna a variável de kernel MmSystemPtesStart.
DEBUG_DATA_MmSystemPtesEndAddr ULONG64 Retorna a variável de kernel MmSystemPtesEnd.
DEBUG_DATA_MmSubsectionBaseAddr ULONG64 Retorna o endereço da variável de kernel MmSubsectionBase.
DEBUG_DATA_MmNumberOfPagingFilesAddr ULONG64 Retorna o endereço da variável de kernel MmNumberOfPagingFiles.
DEBUG_DATA_MmLowestPhysicalPageAddr ULONG64 Retorna o endereço da variável de kernel MmLowestPhysicalPage.
DEBUG_DATA_MmHighestPhysicalPageAddr ULONG64 Retorna o endereço da variável de kernel MmHighestPhysicalPage.
DEBUG_DATA_MmNumberOfPhysicalPagesAddr ULONG64 Retorna o endereço da variável de kernel MmNumberOfPhysicalPages.
DEBUG_DATA_MmMaximumNonPagedPoolInBytesAddr ULONG64 Retorna o endereço da variável de kernel MmMaximumNonPagedPoolInBytes.
DEBUG_DATA_MmNonPagedSystemStartAddr ULONG64 Retorna o endereço da variável de kernel MmNonPagedSystemStart.
DEBUG_DATA_MmNonPagedPoolStartAddr ULONG64 Retorna o endereço da variável de kernel MmNonPagedPoolStart.
DEBUG_DATA_MmNonPagedPoolEndAddr ULONG64 Retorna o endereço da variável de kernel MmNonPagedPoolEnd.
DEBUG_DATA_MmPagedPoolStartAddr ULONG64 Retorna o endereço da variável de kernel MmPagedPoolStart.
DEBUG_DATA_MmPagedPoolEndAddr ULONG64 Retorna o endereço da variável de kernel MmPagedPoolEnd.
DEBUG_DATA_MmPagedPoolInformationAddr ULONG64 Retorna o endereço da variável de kernel MmPagedPoolInfo.
DEBUG_DATA_MmPageSize ULONG64 Retorna o tamanho da página.
DEBUG_DATA_MmSizeOfPagedPoolInBytesAddr ULONG64 Retorna o endereço da variável de kernel MmSizeOfPagedPoolInBytes.
DEBUG_DATA_MmTotalCommitLimitAddr ULONG64 Retorna o endereço da variável de kernel MmTotalCommitLimit.
DEBUG_DATA_MmTotalCommittedPagesAddr ULONG64 Retorna o endereço da variável de kernel MmTotalCommittedPages.
DEBUG_DATA_MmSharedCommitAddr ULONG64 Retorna o endereço da variável de kernel MmSharedCommit.
DEBUG_DATA_MmDriverCommitAddr ULONG64 Retorna o endereço da variável de kernel MmDriverCommit.
DEBUG_DATA_MmProcessCommitAddr ULONG64 Retorna o endereço da variável de kernel MmProcessCommit.
DEBUG_DATA_MmPagedPoolCommitAddr ULONG64 Retorna o endereço da variável de kernel MmPagedPoolCommit.
DEBUG_DATA_MmExtendedCommitAddr ULONG64 Retorna o endereço da variável de kernel MmExtendedCommit..
DEBUG_DATA_MmZeroedPageListHeadAddr ULONG64 Retorna o endereço da variável de kernel MmZeroedPageListHead.
DEBUG_DATA_MmFreePageListHeadAddr ULONG64 Retorna o endereço da variável de kernel MmFreePageListHead.
DEBUG_DATA_MmStandbyPageListHeadAddr ULONG64 Retorna o endereço da variável de kernel MmStandbyPageListHead.
DEBUG_DATA_MmModifiedPageListHeadAddr ULONG64 Retorna o endereço da variável de kernel MmModifiedPageListHead.
DEBUG_DATA_MmModifiedNoWritePageListHeadAddr ULONG64 Retorna o endereço da variável de kernel MmModifiedNoWritePageListHead.
DEBUG_DATA_MmAvailablePagesAddr ULONG64 Retorna o endereço da variável de kernel MmAvailablePages.
DEBUG_DATA_MmResidentAvailablePagesAddr ULONG64 Retorna o endereço da variável de kernel MmResidentAvailablePages.
DEBUG_DATA_PoolTrackTableAddr ULONG64 Retorna o endereço da variável de kernel PoolTrackTable.
DEBUG_DATA_NonPagedPoolDescriptorAddr ULONG64 Retorna o endereço da variável de kernel NonPagedPoolDescriptor.
DEBUG_DATA_MmHighestUserAddressAddr ULONG64 Retorna o endereço da variável de kernel MmHighestUserAddress.
DEBUG_DATA_MmSystemRangeStartAddr ULONG64 Retorna o endereço da variável de kernel MmSystemRangeStart.
DEBUG_DATA_MmUserProbeAddressAddr ULONG64 Retorna o endereço da variável de kernel MmUserProbeAddress.
DEBUG_DATA_KdPrintCircularBufferAddr ULONG64 Retorna a variável de kernel KdPrintDefaultCircularBuffer.
DEBUG_DATA_KdPrintCircularBufferEndAddr ULONG64 Retorna o endereço do final da matriz KdPrintDefaultCircularBuffer
DEBUG_DATA_KdPrintWritePointerAddr ULONG64 Retorna o endereço da variável de kernel KdPrintWritePointer.
DEBUG_DATA_KdPrintRolloverCountAddr ULONG64 Retorna o endereço da variável de kernel KdPrintRolloverCount.
DEBUG_DATA_MmLoadedUserImageListAddr ULONG64 Retorna o endereço da variável de kernel MmLoadedUserImageList.
DEBUG_DATA_PaeEnabled BOOLEAN Retorna TRUE quando o sistema de destino tem o PAE habilitado.

Caso contrário, retornará FALSE .

DEBUG_DATA_SharedUserData ULONG64 Retorna o endereço no destino da estrutura de modo de usuário compartilhado, KUSER_SHARED_DATA. A estrutura KUSER_SHARED_DATA é definida em ntddk.h (no Kit de Driver do Windows) e ntexapi.h (no SDK do Windows).

Algumas das informações contidas nessa estrutura são exibidas pela extensão do depurador !kuser.

DEBUG_DATA_ProductType ULONG Retorna o valor do campo NtProductType na página de modo de usuário compartilhado.

Esse valor deve ser interpretado da mesma forma que o campo wProductType da estrutura OSVERSIONINFOEX, que está documentado no SDK do Windows.

DEBUG_DATA_SuiteMask ULONG Retorna o valor do campo SuiteMask na página de modo de usuário compartilhado.

Esse valor deve ser interpretado da mesma forma que o campo wSuiteMask da estrutura OSVERSIONINFOEX, que está documentada no SDK do Windows.

DEBUG_DATA_DumpWriterStatus ULONG Retorna o status do gravador do arquivo de despejo. Esse valor é específico do sistema operacional e do tipo de arquivo de despejo.
 

Os seguintes valores são válidos para o Windows XP e versões posteriores do Windows:

Valor Tipo de retorno Descrição
DEBUG_DATA_NtBuildLabAddr ULONG64 Retorna o endereço da variável de kernel NtBuildLab.
DEBUG_DATA_KiNormalSystemCall ULONG64 (Somente Itanium) Retorna o endereço da função de kernel KiNormalSystemCall.
DEBUG_DATA_KiProcessorBlockAddr ULONG64 Retorna a variável de kernel KiProcessorBlock.
DEBUG_DATA_MmUnloadedDriversAddr ULONG64 Retorna o endereço da variável de kernel MmUnloadedDrivers.
DEBUG_DATA_MmLastUnloadedDriverAddr ULONG64 Retorna o endereço da variável de kernel MmLastUnloadedDriver.
DEBUG_DATA_MmTriageActionTakenAddr ULONG64 Retorna o endereço da variável de kernel VerifierTriageActionTaken.
DEBUG_DATA_MmSpecialPoolTagAddr ULONG64 Retorna o endereço da variável de kernel MmSpecialPoolTag.
DEBUG_DATA_KernelVerifierAddr ULONG64 Retorna o endereço da variável kernel KernelVerifier.
DEBUG_DATA_MmVerifierDataAddr ULONG64 Retorna o endereço da variável de kernel MmVerifierData.
DEBUG_DATA_MmAllocatedNonPagedPoolAddr ULONG64 Retorna o endereço da variável de kernel MmAllocatedNonPagedPool.
DEBUG_DATA_MmPeakCommitmentAddr ULONG64 Retorna o endereço da variável de kernel MmPeakCommitment.
DEBUG_DATA_MmTotalCommitLimitMaximumAddr ULONG64 Retorna o endereço da variável de kernel MmTotalCommitLimitMaximum.
DEBUG_DATA_CmNtCSDVersionAddr ULONG64 Retorna o endereço da variável de kernel CmNtCSDVersion.
DEBUG_DATA_MmPhysicalMemoryBlockAddr ULONG64 Retorna o endereço da variável de kernel MmPhysicalMemoryBlock.
DEBUG_DATA_MmSessionBase ULONG64 Retorna o endereço da variável de kernel MmSessionBase.
DEBUG_DATA_MmSessionSize ULONG64 Retorna o endereço da variável de kernel MmSessionSize.
DEBUG_DATA_MmSystemParentTablePage ULONG64 (Somente Itanium) Retorna o endereço da variável de kernel MmSystemParentTablePage.
 

Os seguintes valores são válidos para o Windows Server 2003 e versões posteriores do Windows:

Valor Tipo de retorno Descrição
DEBUG_DATA_MmVirtualTranslationBase ULONG64 Retorna o endereço da variável de kernel MmVirtualTranslationBase.
DEBUG_DATA_OffsetKThreadNextProcessor USHORT Retorna o deslocamento do campo NextProcessor na estrutura KTHREAD.
DEBUG_DATA_OffsetKThreadTeb USHORT Retorna o deslocamento do campo Teb na estrutura KTHREAD.
DEBUG_DATA_OffsetKThreadKernelStack USHORT Retorna o deslocamento do campo KernelStack na estrutura KTHREAD.
DEBUG_DATA_OffsetKThreadInitialStack USHORT Retorna o deslocamento do campo InitialStack na estrutura KTHREAD.
DEBUG_DATA_OffsetKThreadApcProcess USHORT Retorna o deslocamento do campo ApcState.Process na estrutura KTHREAD.
DEBUG_DATA_OffsetKThreadState USHORT Retorna o deslocamento do campo Estado na estrutura KTHREAD.
DEBUG_DATA_OffsetKThreadBStore USHORT (Somente Itanium) Retorna o deslocamento do campo InitialBStore na estrutura KTHREAD.
DEBUG_DATA_OffsetKThreadBStoreLimit USHORT (Somente Itanium) Retorna o deslocamento do campo BStoreLimit na estrutura KTHREAD.
DEBUG_DATA_SizeEProcess USHORT Retorna o tamanho da estrutura EPROCESS.
DEBUG_DATA_OffsetEprocessPeb USHORT Retorna o deslocamento do campo Peb na estrutura EPROCESS.
DEBUG_DATA_OffsetEprocessParentCID USHORT Retorna o deslocamento do campo InheritedFromUniqueProcessId na estrutura EPROCESS.
DEBUG_DATA_OffsetEprocessDirectoryTableBase USHORT Retorna o deslocamento do campo DirectoryTableBase na estrutura EPROCESS.
DEBUG_DATA_SizePrcb USHORT Retorna o tamanho da estrutura KPRCB.
DEBUG_DATA_OffsetPrcbDpcRoutine USHORT Retorna o deslocamento do campo DpcRoutineActive na estrutura KPRCB.
DEBUG_DATA_OffsetPrcbCurrentThread USHORT Retorna o deslocamento do campo CurrentThread na estrutura KPRCB.
DEBUG_DATA_OffsetPrcbMhz USHORT Retorna o deslocamento do campo MHz na estrutura KPRCB.
DEBUG_DATA_OffsetPrcbCpuType USHORT Para processadores Itanium: Retorna o deslocamento do campo ProcessorModel na estrutura KPRCB.

Para todos os outros processadores: Retorna o deslocamento do campo CpuType na estrutura KPRCB.

DEBUG_DATA_OffsetPrcbVendorString USHORT Para processadores Itanium: Retorna o deslocamento do campo ProcessorVendorString na estrutura KPRCB.

Para todos os outros processadores: Retorna o deslocamento do campo VendorString na estrutura KPRCB.

DEBUG_DATA_OffsetPrcbProcessorState USHORT Retorna o deslocamento do campo ProcessorState.ContextFrame na estrutura KPRCB.
DEBUG_DATA_OffsetPrcbNumber USHORT Retorna o deslocamento do campo Número na estrutura KPRCB.
DEBUG_DATA_SizeEThread USHORT Retorna o tamanho da estrutura ETHREAD.
DEBUG_DATA_KdPrintCircularBufferPtrAddr ULONG64 Retorna o endereço da variável de kernel KdPrintCircularBuffer.
DEBUG_DATA_KdPrintBufferSizeAddr ULONG64 Retorna o endereço da variável de kernel KdPrintBufferSize.

[out] Buffer

Recebe o valor dos dados do depurador especificados. A coluna "Tipo de Retorno" na tabela acima especifica o tipo de dados retornado. Os dados podem ser acessados convertendo Buffer em um ponteiro para esse tipo.

[in] BufferSize

Especifica o tamanho em bytes do Buffer de buffer.

[out, optional] DataSize

Recebe o número de bytes usados no buffer de buffer. Se DataSize for NULL, essas informações não serão retornadas.

Retornar valor

Código de retorno Descrição
S_OK
O método foi bem-sucedido.
 

Esse método também pode retornar valores de erro. Consulte Valores retornados para obter mais detalhes.

Comentários

Alguns ou todos os valores podem estar indisponíveis em determinadas sessões de depuração. Por exemplo, alguns dos valores só estão disponíveis para versões específicas do sistema operacional.

Para obter detalhes sobre os diferentes valores retornados por ReadDebuggerData, consulte Microsoft Windows Internals de David Solomon e Mark Russinovich, o SDK do Microsoft Windows e o WDK (Windows Driver Kit).

Requisitos

Requisito Valor
Plataforma de Destino Área de Trabalho
Cabeçalho dbgeng.h (inclua Dbgeng.h)