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 kernel BreakpointWithStatusInstruction .
DEBUG_DATA_SavedContextAddr ULONG64 Retorna o endereço do registro de contexto salvo durante uma verificação de bug. Ele só é válido após uma verificação de bug.
DEBUG_DATA_KiCallUserModeAddr ULONG64 Retorna o endereço da função kernel KiCallUserMode.
DEBUG_DATA_KeUserCallbackDispatcherAddr ULONG64 Retorna a variável kernel KeUserCallbackDispatcher.
DEBUG_DATA_PsLoadedModuleListAddr ULONG64 Retorna o endereço da variável 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 kernel ExpPagedPoolDescriptor .
DEBUG_DATA_ExpNumberOfPagedPoolsAddr ULONG64 Retorna o endereço da variável 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 kernel ObpRootDirectoryObject.
DEBUG_DATA_ObpTypeObjectTypeAddr ULONG64 Retorna o endereço da variável kernel ObpTypeObjectType.
DEBUG_DATA_MmSystemCacheStartAddr ULONG64 Retorna o endereço da variável kernel MmSystemCacheStart.
DEBUG_DATA_MmSystemCacheEndAddr ULONG64 Retorna o endereço da variável kernel MmSystemCacheEnd .
DEBUG_DATA_MmSystemCacheWsAddr ULONG64 Retorna o endereço da variável kernel MmSystemCacheWs.
DEBUG_DATA_MmPfnDatabaseAddr ULONG64 Retorna o endereço da variável kernel MmPfnDatabase .
DEBUG_DATA_MmSystemPtesStartAddr ULONG64 Retorna a variável kernel MmSystemPtesStart .
DEBUG_DATA_MmSystemPtesEndAddr ULONG64 Retorna a variável kernel MmSystemPtesEnd .
DEBUG_DATA_MmSubsectionBaseAddr ULONG64 Retorna o endereço da variável kernel MmSubsectionBase.
DEBUG_DATA_MmNumberOfPagingFilesAddr ULONG64 Retorna o endereço da variável kernel MmNumberOfPagingFiles.
DEBUG_DATA_MmLowestPhysicalPageAddr ULONG64 Retorna o endereço da variável kernel MmLowestPhysicalPage.
DEBUG_DATA_MmHighestPhysicalPageAddr ULONG64 Retorna o endereço da variável kernel MmHighestPhysicalPage.
DEBUG_DATA_MmNumberOfPhysicalPagesAddr ULONG64 Retorna o endereço da variável kernel MmNumberOfPhysicalPages.
DEBUG_DATA_MmMaximumNonPagedPoolInBytesAddr ULONG64 Retorna o endereço da variável kernel MmMaximumNonPagedPoolInBytes.
DEBUG_DATA_MmNonPagedSystemStartAddr ULONG64 Retorna o endereço da variável kernel MmNonPagedSystemStart.
DEBUG_DATA_MmNonPagedPoolStartAddr ULONG64 Retorna o endereço da variável kernel MmNonPagedPoolStart.
DEBUG_DATA_MmNonPagedPoolEndAddr ULONG64 Retorna o endereço da variável kernel MmNonPagedPoolEnd .
DEBUG_DATA_MmPagedPoolStartAddr ULONG64 Retorna o endereço da variável kernel MmPagedPoolStart.
DEBUG_DATA_MmPagedPoolEndAddr ULONG64 Retorna o endereço da variável kernel MmPagedPoolEnd.
DEBUG_DATA_MmPagedPoolInformationAddr ULONG64 Retorna o endereço da variável 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 kernel MmTotalCommitLimit.
DEBUG_DATA_MmTotalCommittedPagesAddr ULONG64 Retorna o endereço da variável 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 kernel MmPagedPoolCommit .
DEBUG_DATA_MmExtendedCommitAddr ULONG64 Retorna o endereço da variável kernel MmExtendedCommit..
DEBUG_DATA_MmZeroedPageListHeadAddr ULONG64 Retorna o endereço da variável 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 kernel MmModifiedPageListHead .
DEBUG_DATA_MmModifiedNoWritePageListHeadAddr ULONG64 Retorna o endereço da variável 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 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 kernel nonPagedPoolDescriptor.
DEBUG_DATA_MmHighestUserAddressAddr ULONG64 Retorna o endereço da variável kernel MmHighestUserAddress.
DEBUG_DATA_MmSystemRangeStartAddr ULONG64 Retorna o endereço da variável kernel MmSystemRangeStart.
DEBUG_DATA_MmUserProbeAddressAddr ULONG64 Retorna o endereço da variável kernel MmUserProbeAddress.
DEBUG_DATA_KdPrintCircularBufferAddr ULONG64 Retorna a variável 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 kernel KdPrintRolloverCount .
DEBUG_DATA_MmLoadedUserImageListAddr ULONG64 Retorna o endereço da variável kernel MmLoadedUserImageList .
DEBUG_DATA_PaeEnabled BOOLEANO Retorna VERDADEIRO quando o sistema de destino tiver o PAE habilitado.

Retorna false caso contrário.

DEBUG_DATA_SharedUserData ULONG64 Retorna o endereço no destino da estrutura de modo de usuário compartilhado, KUSER_SHARED_DATA. A estrutura de KUSER_SHARED_DATA é definida em ntddk.h (no Windows Driver Kit) 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 maneira 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 maneira que o campo wSuiteMask da estrutura OSVERSIONINFOEX, que está documentado 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 kernel KiNormalSystemCall .
DEBUG_DATA_KiProcessorBlockAddr ULONG64 Retorna a variável de kernel KiProcessorBlock.
DEBUG_DATA_MmUnloadedDriversAddr ULONG64 Retorna o endereço da variável kernel MmUnloadedDrivers.
DEBUG_DATA_MmLastUnloadedDriverAddr ULONG64 Retorna o endereço da variável kernel MmLastUnloadedDriver .
DEBUG_DATA_MmTriageActionTakenAddr ULONG64 Retorna o endereço da variável kernel VerifierTriageActionTaken .
DEBUG_DATA_MmSpecialPoolTagAddr ULONG64 Retorna o endereço da variável 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 kernel MmVerifierData.
DEBUG_DATA_MmAllocatedNonPagedPoolAddr ULONG64 Retorna o endereço da variável kernel MmAllocatedNonPagedPool.
DEBUG_DATA_MmPeakCommitmentAddr ULONG64 Retorna o endereço da variável kernel MmPeakCommitment.
DEBUG_DATA_MmTotalCommitLimitMaximumAddr ULONG64 Retorna o endereço da variável kernel MmTotalCommitLimitMaximum.
DEBUG_DATA_CmNtCSDVersionAddr ULONG64 Retorna o endereço da variável kernel CmNtCSDVersion.
DEBUG_DATA_MmPhysicalMemoryBlockAddr ULONG64 Retorna o endereço da variável kernel MmPhysicalMemoryBlock .
DEBUG_DATA_MmSessionBase ULONG64 Retorna o endereço da variável kernel MmSessionBase.
DEBUG_DATA_MmSessionSize ULONG64 Retorna o endereço da variável kernel MmSessionSize.
DEBUG_DATA_MmSystemParentTablePage ULONG64 (Somente Itanium) Retorna o endereço da variável 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 kernel MmVirtualTranslationBase.
DEBUG_DATA_OffsetKThreadNextProcessor USHORT Retorna o deslocamento do campo NextProcessor na estrutura KTHREAD.
DEBUG_DATA_OffsetKThreadTeb USHORT Retorna o deslocamento do campo do 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 de 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 pela conversão buffer para um ponteiro para esse tipo.

[in] BufferSize

Especifica o tamanho em bytes do buffer buffer.

[out, optional] DataSize

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

Valor de retorno

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 de Valores Retornados para obter mais detalhes.

Observações

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 por David Solomon e Mark Russinovich, o Microsoft Windows SDK e o Windows Driver Kit (WDK).

Requisitos

Requisito Valor
da Plataforma de Destino Área de trabalho
cabeçalho dbgeng.h (inclua Dbgeng.h)