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