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 |
---|---|
|
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) |