IDebugDataSpaces4 ::ReadDebuggerData, méthode (dbgeng.h)
La méthode ReadDebuggerData retourne des informations sur la cible que le moteur de débogueur a interrogée ou déterminée pendant la session active. Les informations disponibles incluent les emplacements de certains emplacements clés du noyau cible, des valeurs de status spécifiques et un certain nombre d’autres éléments.
Syntaxe
HRESULT ReadDebuggerData(
[in] ULONG Index,
[out] PVOID Buffer,
[in] ULONG BufferSize,
[out, optional] PULONG DataSize
);
Paramètres
[in] Index
Spécifie l’index des données à récupérer. Les valeurs suivantes sont valides :
Value | Type de retour | Description |
---|---|---|
DEBUG_DATA_KernBase | ULONG64 | Retourne l’adresse de base de l’image du noyau. |
DEBUG_DATA_BreakpointWithStatusAddr | ULONG64 | Retourne l’adresse de la fonction de noyau BreakpointWithStatusInstruction. |
DEBUG_DATA_SavedContextAddr | ULONG64 | Retourne l’adresse de l’enregistrement de contexte enregistré lors d’une vérification d’erreur. Il n’est valide qu’après une vérification d’erreur. |
DEBUG_DATA_KiCallUserModeAddr | ULONG64 | Retourne l’adresse de la fonction de noyau KiCallUserMode. |
DEBUG_DATA_KeUserCallbackDispatcherAddr | ULONG64 | Retourne la variable de noyau KeUserCallbackDispatcher. |
DEBUG_DATA_PsLoadedModuleListAddr | ULONG64 | Retourne l’adresse de la variable de noyau PsLoadedModuleList. |
DEBUG_DATA_PsActiveProcessHeadAddr | ULONG64 | Retourne l’adresse de la variable de noyau PsActiveProcessHead. |
DEBUG_DATA_PspCidTableAddr | ULONG64 | Retourne l’adresse de la variable de noyau PspCidTable. |
DEBUG_DATA_ExpSystemResourcesListAddr | ULONG64 | Retourne l’adresse de la variable de noyau ExpSystemResourcesList. |
DEBUG_DATA_ExpPagedPoolDescriptorAddr | ULONG64 | Retourne l’adresse de la variable de noyau ExpPagedPoolDescriptor. |
DEBUG_DATA_ExpNumberOfPagedPoolsAddr | ULONG64 | Retourne l’adresse de la variable de noyau ExpNumberOfPagedPools. |
DEBUG_DATA_KeTimeIncrementAddr | ULONG64 | Retourne l’adresse de la variable de noyau KeTimeIncrement. |
DEBUG_DATA_KeBugCheckCallbackListHeadAddr | ULONG64 | Retourne l’adresse de la variable de noyau KeBugCheckCallbackListHead. |
DEBUG_DATA_KiBugcheckDataAddr | ULONG64 | Retourne la variable de noyau KiBugCheckData. |
DEBUG_DATA_IopErrorLogListHeadAddr | ULONG64 | Retourne l’adresse de la variable de noyau IopErrorLogListHead. |
DEBUG_DATA_ObpRootDirectoryObjectAddr | ULONG64 | Retourne l’adresse de la variable de noyau ObpRootDirectoryObject. |
DEBUG_DATA_ObpTypeObjectTypeAddr | ULONG64 | Retourne l’adresse de la variable de noyau ObpTypeObjectType. |
DEBUG_DATA_MmSystemCacheStartAddr | ULONG64 | Retourne l’adresse de la variable de noyau MmSystemCacheStart. |
DEBUG_DATA_MmSystemCacheEndAddr | ULONG64 | Retourne l’adresse de la variable de noyau MmSystemCacheEnd. |
DEBUG_DATA_MmSystemCacheWsAddr | ULONG64 | Retourne l’adresse de la variable de noyau MmSystemCacheWs. |
DEBUG_DATA_MmPfnDatabaseAddr | ULONG64 | Retourne l’adresse de la variable de noyau MmPfnDatabase. |
DEBUG_DATA_MmSystemPtesStartAddr | ULONG64 | Retourne la variable de noyau MmSystemPtesStart. |
DEBUG_DATA_MmSystemPtesEndAddr | ULONG64 | Retourne la variable de noyau MmSystemPtesEnd. |
DEBUG_DATA_MmSubsectionBaseAddr | ULONG64 | Retourne l’adresse de la variable de noyau MmSubsectionBase. |
DEBUG_DATA_MmNumberOfPagingFilesAddr | ULONG64 | Retourne l’adresse de la variable de noyau MmNumberOfPagingFiles. |
DEBUG_DATA_MmLowestPhysicalPageAddr | ULONG64 | Retourne l’adresse de la variable de noyau MmLowestPhysicalPage. |
DEBUG_DATA_MmHighestPhysicalPageAddr | ULONG64 | Retourne l’adresse de la variable de noyau MmHighestPhysicalPage. |
DEBUG_DATA_MmNumberOfPhysicalPagesAddr | ULONG64 | Retourne l’adresse de la variable de noyau MmNumberOfPhysicalPages. |
DEBUG_DATA_MmMaximumNonPagedPoolInBytesAddr | ULONG64 | Renvoie l’adresse de la variable de noyau MmMaximumNonPagedPoolInBytes. |
DEBUG_DATA_MmNonPagedSystemStartAddr | ULONG64 | Retourne l’adresse de la variable de noyau MmNonPagedSystemStart. |
DEBUG_DATA_MmNonPagedPoolStartAddr | ULONG64 | Retourne l’adresse de la variable de noyau MmNonPagedPoolStart. |
DEBUG_DATA_MmNonPagedPoolEndAddr | ULONG64 | Renvoie l’adresse de la variable de noyau MmNonPagedPoolEnd. |
DEBUG_DATA_MmPagedPoolStartAddr | ULONG64 | Retourne l’adresse de la variable de noyau MmPagedPoolStart. |
DEBUG_DATA_MmPagedPoolEndAddr | ULONG64 | Retourne l’adresse de la variable de noyau MmPagedPoolEnd. |
DEBUG_DATA_MmPagedPoolInformationAddr | ULONG64 | Retourne l’adresse de la variable de noyau MmPagedPoolInfo. |
DEBUG_DATA_MmPageSize | ULONG64 | Retourne la taille de page. |
DEBUG_DATA_MmSizeOfPagedPoolInBytesAddr | ULONG64 | Retourne l’adresse de la variable de noyau MmSizeOfPagedPoolInBytes. |
DEBUG_DATA_MmTotalCommitLimitAddr | ULONG64 | Renvoie l’adresse de la variable de noyau MmTotalCommitLimit. |
DEBUG_DATA_MmTotalCommittedPagesAddr | ULONG64 | Renvoie l’adresse de la variable de noyau MmTotalCommittedPages. |
DEBUG_DATA_MmSharedCommitAddr | ULONG64 | Retourne l’adresse de la variable de noyau MmSharedCommit. |
DEBUG_DATA_MmDriverCommitAddr | ULONG64 | Retourne l’adresse de la variable de noyau MmDriverCommit. |
DEBUG_DATA_MmProcessCommitAddr | ULONG64 | Retourne l’adresse de la variable de noyau MmProcessCommit. |
DEBUG_DATA_MmPagedPoolCommitAddr | ULONG64 | Renvoie l’adresse de la variable de noyau MmPagedPoolCommit. |
DEBUG_DATA_MmExtendedCommitAddr | ULONG64 | Retourne l’adresse de la variable de noyau MmExtendedCommit.. |
DEBUG_DATA_MmZeroedPageListHeadAddr | ULONG64 | Retourne l’adresse de la variable de noyau MmZeroedPageListHead. |
DEBUG_DATA_MmFreePageListHeadAddr | ULONG64 | Renvoie l’adresse de la variable de noyau MmFreePageListHead. |
DEBUG_DATA_MmStandbyPageListHeadAddr | ULONG64 | Renvoie l’adresse de la variable de noyau MmStandbyPageListHead. |
DEBUG_DATA_MmModifiedPageListHeadAddr | ULONG64 | Renvoie l’adresse de la variable de noyau MmModifiedPageListHead. |
DEBUG_DATA_MmModifiedNoWritePageListHeadAddr | ULONG64 | Renvoie l’adresse de la variable de noyau MmModifiedNoWritePageListHead. |
DEBUG_DATA_MmAvailablePagesAddr | ULONG64 | Renvoie l’adresse de la variable de noyau MmAvailablePages. |
DEBUG_DATA_MmResidentAvailablePagesAddr | ULONG64 | Renvoie l’adresse de la variable de noyau MmResidentAvailablePages. |
DEBUG_DATA_PoolTrackTableAddr | ULONG64 | Retourne l’adresse de la variable de noyau PoolTrackTable. |
DEBUG_DATA_NonPagedPoolDescriptorAddr | ULONG64 | Retourne l’adresse de la variable de noyau NonPagedPoolDescriptor. |
DEBUG_DATA_MmHighestUserAddressAddr | ULONG64 | Renvoie l’adresse de la variable de noyau MmHighestUserAddress. |
DEBUG_DATA_MmSystemRangeStartAddr | ULONG64 | Retourne l’adresse de la variable de noyau MmSystemRangeStart. |
DEBUG_DATA_MmUserProbeAddressAddr | ULONG64 | Retourne l’adresse de la variable de noyau MmUserProbeAddress. |
DEBUG_DATA_KdPrintCircularBufferAddr | ULONG64 | Renvoie la variable de noyau KdPrintDefaultCircularBuffer. |
DEBUG_DATA_KdPrintCircularBufferEndAddr | ULONG64 | Renvoie l’adresse de la fin du tableau KdPrintDefaultCircularBuffer |
DEBUG_DATA_KdPrintWritePointerAddr | ULONG64 | Retourne l’adresse de la variable de noyau KdPrintWritePointer. |
DEBUG_DATA_KdPrintRolloverCountAddr | ULONG64 | Retourne l’adresse de la variable de noyau KdPrintRolloverCount. |
DEBUG_DATA_MmLoadedUserImageListAddr | ULONG64 | Retourne l’adresse de la variable de noyau MmLoadedUserImageList. |
DEBUG_DATA_PaeEnabled | BOOLEAN |
Retourne TRUE lorsque l’environnement PAE est activé sur le système cible.
Retourne FALSE dans le cas contraire. |
DEBUG_DATA_SharedUserData | ULONG64 |
Retourne l’adresse dans la cible de la structure en mode utilisateur partagée, KUSER_SHARED_DATA. La structure KUSER_SHARED_DATA est définie dans ntddk.h (dans le Kit de pilotes Windows) et ntexapi.h (dans le Kit de développement logiciel (SDK) Windows.
Certaines des informations contenues dans cette structure sont affichées par l’extension du débogueur !kuser. |
DEBUG_DATA_ProductType | ULONG |
Retourne la valeur du champ NtProductType dans la page partagée en mode utilisateur.
Cette valeur doit être interprétée de la même façon que le champ wProductType de la structure OSVERSIONINFOEX, qui est documenté dans le Kit de développement logiciel (SDK) Windows. |
DEBUG_DATA_SuiteMask | ULONG |
Retourne la valeur du champ SuiteMask dans la page partagée en mode utilisateur.
Cette valeur doit être interprétée de la même façon que le champ wSuiteMask de la structure OSVERSIONINFOEX, qui est documenté dans le Kit de développement logiciel (SDK) Windows. |
DEBUG_DATA_DumpWriterStatus | ULONG | Retourne le status du writer du fichier de vidage. Cette valeur est spécifique au système d’exploitation et au type de fichier de vidage. |
Les valeurs suivantes sont valides pour Windows XP et les versions ultérieures de Windows :
Valeur | Type de retour | Description |
---|---|---|
DEBUG_DATA_NtBuildLabAddr | ULONG64 | Retourne l’adresse de la variable de noyau NtBuildLab. |
DEBUG_DATA_KiNormalSystemCall | ULONG64 | (Itanium uniquement) Retourne l’adresse de la fonction de noyau KiNormalSystemCall. |
DEBUG_DATA_KiProcessorBlockAddr | ULONG64 | Retourne la variable de noyau KiProcessorBlock. |
DEBUG_DATA_MmUnloadedDriversAddr | ULONG64 | Retourne l’adresse de la variable de noyau MmUnloadedDrivers. |
DEBUG_DATA_MmLastUnloadedDriverAddr | ULONG64 | Retourne l’adresse de la variable de noyau MmLastUnloadedDriver. |
DEBUG_DATA_MmTriageActionTakenAddr | ULONG64 | Retourne l’adresse de la variable de noyau VerifierTriageActionTaken. |
DEBUG_DATA_MmSpecialPoolTagAddr | ULONG64 | Retourne l’adresse de la variable de noyau MmSpecialPoolTag. |
DEBUG_DATA_KernelVerifierAddr | ULONG64 | Retourne l’adresse de la variable de noyau KernelVerifier. |
DEBUG_DATA_MmVerifierDataAddr | ULONG64 | Retourne l’adresse de la variable de noyau MmVerifierData. |
DEBUG_DATA_MmAllocatedNonPagedPoolAddr | ULONG64 | Retourne l’adresse de la variable de noyau MmAllocatedNonPagedPool. |
DEBUG_DATA_MmPeakCommitmentAddr | ULONG64 | Retourne l’adresse de la variable de noyau MmPeakCommitment. |
DEBUG_DATA_MmTotalCommitLimitMaximumAddr | ULONG64 | Retourne l’adresse de la variable de noyau MmTotalCommitLimitMaximum. |
DEBUG_DATA_CmNtCSDVersionAddr | ULONG64 | Retourne l’adresse de la variable de noyau CmNtCSDVersion. |
DEBUG_DATA_MmPhysicalMemoryBlockAddr | ULONG64 | Retourne l’adresse de la variable de noyau MmPhysicalMemoryBlock. |
DEBUG_DATA_MmSessionBase | ULONG64 | Retourne l’adresse de la variable de noyau MmSessionBase. |
DEBUG_DATA_MmSessionSize | ULONG64 | Retourne l’adresse de la variable de noyau MmSessionSize. |
DEBUG_DATA_MmSystemParentTablePage | ULONG64 | (Itanium uniquement) Retourne l’adresse de la variable de noyau MmSystemParentTablePage. |
Les valeurs suivantes sont valides pour Windows Server 2003 et versions ultérieures de Windows :
Valeur | Type de retour | Description |
---|---|---|
DEBUG_DATA_MmVirtualTranslationBase | ULONG64 | Retourne l’adresse de la variable de noyau MmVirtualTranslationBase. |
DEBUG_DATA_OffsetKThreadNextProcessor | USHORT | Retourne le décalage du champ NextProcessor dans la structure KTHREAD. |
DEBUG_DATA_OffsetKThreadTeb | USHORT | Retourne le décalage du champ Teb dans la structure KTHREAD. |
DEBUG_DATA_OffsetKThreadKernelStack | USHORT | Retourne le décalage du champ KernelStack dans la structure KTHREAD. |
DEBUG_DATA_OffsetKThreadInitialStack | USHORT | Retourne le décalage du champ InitialStack dans la structure KTHREAD. |
DEBUG_DATA_OffsetKThreadApcProcess | USHORT | Retourne le décalage du champ ApcState.Process dans la structure KTHREAD. |
DEBUG_DATA_OffsetKThreadState | USHORT | Retourne le décalage du champ État dans la structure KTHREAD. |
DEBUG_DATA_OffsetKThreadBStore | USHORT | (Itanium uniquement) Retourne le décalage du champ InitialBStore dans la structure KTHREAD. |
DEBUG_DATA_OffsetKThreadBStoreLimit | USHORT | (Itanium uniquement) Retourne le décalage du champ BStoreLimit dans la structure KTHREAD. |
DEBUG_DATA_SizeEProcess | USHORT | Retourne la taille de la structure EPROCESS. |
DEBUG_DATA_OffsetEprocessPeb | USHORT | Renvoie le décalage du champ Peb dans la structure EPROCESS. |
DEBUG_DATA_OffsetEprocessParentCID | USHORT | Retourne le décalage du champ InheritedFromUniqueProcessId dans la structure EPROCESS. |
DEBUG_DATA_OffsetEprocessDirectoryTableBase | USHORT | Retourne le décalage du champ DirectoryTableBase dans la structure EPROCESS. |
DEBUG_DATA_SizePrcb | USHORT | Retourne la taille de la structure KPRCB. |
DEBUG_DATA_OffsetPrcbDpcRoutine | USHORT | Retourne le décalage du champ DpcRoutineActive dans la structure KPRCB. |
DEBUG_DATA_OffsetPrcbCurrentThread | USHORT | Retourne le décalage du champ CurrentThread dans la structure KPRCB. |
DEBUG_DATA_OffsetPrcbMhz | USHORT | Retourne le décalage du champ MHz dans la structure KPRCB. |
DEBUG_DATA_OffsetPrcbCpuType | USHORT |
Pour les processeurs Itanium : Retourne le décalage du champ ProcessorModel dans la structure KPRCB.
Pour tous les autres processeurs : Retourne le décalage du champ CpuType dans la structure KPRCB. |
DEBUG_DATA_OffsetPrcbVendorString | USHORT |
Pour les processeurs Itanium : Retourne le décalage du champ ProcessorVendorString dans la structure KPRCB.
Pour tous les autres processeurs : Retourne le décalage du champ VendorString dans la structure KPRCB. |
DEBUG_DATA_OffsetPrcbProcessorState | USHORT | Retourne le décalage du champ ProcessorState.ContextFrame dans la structure KPRCB. |
DEBUG_DATA_OffsetPrcbNumber | USHORT | Retourne le décalage du champ Number dans la structure KPRCB. |
DEBUG_DATA_SizeEThread | USHORT | Retourne la taille de la structure ETHREAD. |
DEBUG_DATA_KdPrintCircularBufferPtrAddr | ULONG64 | Retourne l’adresse de la variable de noyau KdPrintCircularBuffer. |
DEBUG_DATA_KdPrintBufferSizeAddr | ULONG64 | Retourne l’adresse de la variable de noyau KdPrintBufferSize. |
[out] Buffer
Reçoit la valeur des données de débogueur spécifiées. La colonne « Type de retour » du tableau ci-dessus spécifie le type de données retourné. Les données sont accessibles en cas de conversion de mémoire tampon vers un pointeur vers ce type.
[in] BufferSize
Spécifie la taille en octets de la mémoire tampon.
[out, optional] DataSize
Reçoit le nombre d’octets utilisés dans la mémoire tampon. Si DataSize a la valeur NULL, ces informations ne sont pas retournées.
Valeur retournée
Code de retour | Description |
---|---|
|
La méthode a réussi. |
Cette méthode peut également retourner des valeurs d’erreur. Pour plus d’informations, consultez Valeurs de retour .
Remarques
Certaines ou toutes les valeurs peuvent être indisponibles dans certaines sessions de débogage. Par exemple, certaines des valeurs ne sont disponibles que pour des versions particulières du système d’exploitation.
Pour plus d’informations sur les différentes valeurs retournées par ReadDebuggerData, consultez Microsoft Windows Internals de David Solomon et Mark Russinovich, le Microsoft Windows SDK et le Kit de pilotes Windows (WDK).
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | dbgeng.h (inclure Dbgeng.h) |