IDebugDataSpaces4::ReadDebuggerData 方法 (dbgeng.h)
ReadDebuggerData 方法會傳回調試程式引擎在目前會話期間查詢或判斷的目標相關信息。 可用的資訊包括特定主要目標核心位置的位置、特定狀態值,以及許多其他專案。
語法
HRESULT ReadDebuggerData(
[in] ULONG Index,
[out] PVOID Buffer,
[in] ULONG BufferSize,
[out, optional] PULONG DataSize
);
參數
[in] Index
指定要擷取之數據的索引。 下列是有效值:
值 | 傳回類型 | 描述 |
---|---|---|
DEBUG_DATA_KernBase | ULONG64 | 傳回核心映像的基位址。 |
DEBUG_DATA_BreakpointWithStatusAddr | ULONG64 | 傳回核心函式 BreakpointWithStatusInstruction 的位址。 |
DEBUG_DATA_SavedContextAddr | ULONG64 | 傳回錯誤檢查期間所儲存內容記錄的位址。 只有在錯誤檢查之後才有效。 |
DEBUG_DATA_KiCallUserModeAddr | ULONG64 | 傳回核心函式 KiCallUserMode 的位址。 |
DEBUG_DATA_KeUserCallbackDispatcherAddr | ULONG64 | 傳回核心變數 KeUserCallbackDispatcher。 |
DEBUG_DATA_PsLoadedModuleListAddr | ULONG64 | 傳回核心變數 PsLoadedModuleList 的位址。 |
DEBUG_DATA_PsActiveProcessHeadAddr | ULONG64 | 傳回核心變數 PsActiveProcessHead 的位址。 |
DEBUG_DATA_PspCidTableAddr | ULONG64 | 傳回核心變數 PspCidTable 的位址。 |
DEBUG_DATA_ExpSystemResourcesListAddr | ULONG64 | 傳回核心變數 ExpSystemResourcesList 的位址。 |
DEBUG_DATA_ExpPagedPoolDescriptorAddr | ULONG64 | 傳回核心變數 ExpPagedPoolDescriptor 的位址。 |
DEBUG_DATA_ExpNumberOfPagedPoolsAddr | ULONG64 | 傳回核心變數 ExpNumberOfPagedPools 的位址。 |
DEBUG_DATA_KeTimeIncrementAddr | ULONG64 | 傳回核心變數 KeTimeIncrement 的位址。 |
DEBUG_DATA_KeBugCheckCallbackListHeadAddr | ULONG64 | 傳回核心變數 KeBugCheckCallbackListHead 的位址。 |
DEBUG_DATA_KiBugcheckDataAddr | ULONG64 | 傳回核心變數 KiBugCheckData。 |
DEBUG_DATA_IopErrorLogListHeadAddr | ULONG64 | 傳回核心變數 IopErrorLogListHead 的位址。 |
DEBUG_DATA_ObpRootDirectoryObjectAddr | ULONG64 | 傳回核心變數 ObpRootDirectoryObject 的位址。 |
DEBUG_DATA_ObpTypeObjectTypeAddr | ULONG64 | 傳回核心變數 ObpTypeObjectType 的位址。 |
DEBUG_DATA_MmSystemCacheStartAddr | ULONG64 | 傳回核心變數 MmSystemCacheStart 的位址。 |
DEBUG_DATA_MmSystemCacheEndAddr | ULONG64 | 傳回核心變數 MmSystemCacheEnd 的位址。 |
DEBUG_DATA_MmSystemCacheWsAddr | ULONG64 | 傳回核心變數 MmSystemCacheWs 的位址。 |
DEBUG_DATA_MmPfnDatabaseAddr | ULONG64 | 傳回核心變數 MmPfnDatabase 的位址。 |
DEBUG_DATA_MmSystemPtesStartAddr | ULONG64 | 傳回核心變數 MmSystemPtesStart。 |
DEBUG_DATA_MmSystemPtesEndAddr | ULONG64 | 傳回核心變數 MmSystemPtesEnd。 |
DEBUG_DATA_MmSubsectionBaseAddr | ULONG64 | 傳回核心變數 MmSubsectionBase 的位址。 |
DEBUG_DATA_MmNumberOfPagingFilesAddr | ULONG64 | 傳回核心變數 MmNumberOfPagingFiles 的位址。 |
DEBUG_DATA_MmLowestPhysicalPageAddr | ULONG64 | 傳回核心變數 MmLowestPhysicalPage 的位址。 |
DEBUG_DATA_MmHighestPhysicalPageAddr | ULONG64 | 傳回核心變數 MmHighestPhysicalPage 的位址。 |
DEBUG_DATA_MmNumberOfPhysicalPagesAddr | ULONG64 | 傳回核心變數 MmNumberOfPhysicalPages 的位址。 |
DEBUG_DATA_MmMaximumNonPagedPoolInBytesAddr | ULONG64 | 傳回核心變數 MmMaximumNonPagedPoolInBytes 的位址。 |
DEBUG_DATA_MmNonPagedSystemStartAddr | ULONG64 | 傳回核心變數 MmNonPagedSystemStart 的位址。 |
DEBUG_DATA_MmNonPagedPoolStartAddr | ULONG64 | 傳回核心變數 MmNonPagedPoolStart 的位址。 |
DEBUG_DATA_MmNonPagedPoolEndAddr | ULONG64 | 傳回核心變數 MmNonPagedPoolEnd 的位址。 |
DEBUG_DATA_MmPagedPoolStartAddr | ULONG64 | 傳回核心變數 MmPagedPoolStart 的位址。 |
DEBUG_DATA_MmPagedPoolEndAddr | ULONG64 | 傳回核心變數 MmPagedPoolEnd 的位址。 |
DEBUG_DATA_MmPagedPoolInformationAddr | ULONG64 | 傳回核心變數 MmPagedPoolInfo 的位址。 |
DEBUG_DATA_MmPageSize | ULONG64 | 傳回頁面大小。 |
DEBUG_DATA_MmSizeOfPagedPoolInBytesAddr | ULONG64 | 傳回核心變數 MmSizeOfPagedPoolInBytes 的位址。 |
DEBUG_DATA_MmTotalCommitLimitAddr | ULONG64 | 傳回核心變數 MmTotalCommitLimit 的位址。 |
DEBUG_DATA_MmTotalCommittedPagesAddr | ULONG64 | 傳回核心變數 MmTotalCommittedPages 的位址。 |
DEBUG_DATA_MmSharedCommitAddr | ULONG64 | 傳回核心變數 MmSharedCommit 的位址。 |
DEBUG_DATA_MmDriverCommitAddr | ULONG64 | 傳回核心變數 MmDriverCommit 的位址。 |
DEBUG_DATA_MmProcessCommitAddr | ULONG64 | 傳回核心變數 MmProcessCommit 的位址。 |
DEBUG_DATA_MmPagedPoolCommitAddr | ULONG64 | 傳回核心變數 MmPagedPoolCommit 的位址。 |
DEBUG_DATA_MmExtendedCommitAddr | ULONG64 | 傳回核心變數 MmExtendedCommit.的位址。 |
DEBUG_DATA_MmZeroedPageListHeadAddr | ULONG64 | 傳回核心變數 MmZeroedPageListHead 的位址。 |
DEBUG_DATA_MmFreePageListHeadAddr | ULONG64 | 傳回核心變數 MmFreePageListHead 的位址。 |
DEBUG_DATA_MmStandbyPageListHeadAddr | ULONG64 | 傳回核心變數 MmStandbyPageListHead 的位址。 |
DEBUG_DATA_MmModifiedPageListHeadAddr | ULONG64 | 傳回核心變數 MmModifiedPageListHead 的位址。 |
DEBUG_DATA_MmModifiedNoWritePageListHeadAddr | ULONG64 | 傳回核心變數 MmModifiedNoWritePageListHead 的位址。 |
DEBUG_DATA_MmAvailablePagesAddr | ULONG64 | 傳回核心變數 MmAvailablePages 的位址。 |
DEBUG_DATA_MmResidentAvailablePagesAddr | ULONG64 | 傳回核心變數 MmResidentAvailablePages 的位址。 |
DEBUG_DATA_PoolTrackTableAddr | ULONG64 | 傳回核心變數 PoolTrackTable 的位址。 |
DEBUG_DATA_NonPagedPoolDescriptorAddr | ULONG64 | 傳回 核心變數 NonPagedPoolDescriptor 的位址。 |
DEBUG_DATA_MmHighestUserAddressAddr | ULONG64 | 傳回核心變數 MmHighestUserAddress 的位址。 |
DEBUG_DATA_MmSystemRangeStartAddr | ULONG64 | 傳回核心變數 MmSystemRangeStart 的位址。 |
DEBUG_DATA_MmUserProbeAddressAddr | ULONG64 | 傳回核心變數 MmUserProbeAddress 的位址。 |
DEBUG_DATA_KdPrintCircularBufferAddr | ULONG64 | 傳回核心變數 KdPrintDefaultCircularBuffer。 |
DEBUG_DATA_KdPrintCircularBufferEndAddr | ULONG64 | 傳回數位 KdPrintDefaultCircularBuffer 結尾的位址 |
DEBUG_DATA_KdPrintWritePointerAddr | ULONG64 | 傳回核心變數 KdPrintWritePointer 的位址。 |
DEBUG_DATA_KdPrintRolloverCountAddr | ULONG64 | 傳回核心變數 KdPrintRolloverCount 的位址。 |
DEBUG_DATA_MmLoadedUserImageListAddr | ULONG64 | 傳回核心變數 MmLoadedUserImageList 的位址。 |
DEBUG_DATA_PaeEnabled | BOOLEAN |
當目標系統已啟用PAE時,會傳回 TRUE 。
否則會傳回 FALSE 。 |
DEBUG_DATA_SharedUserData | ULONG64 |
傳回共享使用者模式結構目標中的位址,KUSER_SHARED_DATA。 KUSER_SHARED_DATA 結構定義於 Windows 驅動程式套件) 中的 ntddk.h (和 Windows SDK) 中的 ntexapi.h (中。
調試程式延伸 模組 !kuser 會顯示此結構中包含的部分資訊。 |
DEBUG_DATA_ProductType | ULONG |
傳回共享使用者模式頁面中 NtProductType 字段的值。
此值應該解譯的方式與 Windows SDK 中所記載之結構 OSVERSIONINFOEX 的 wProductType 字段相同。 |
DEBUG_DATA_SuiteMask | ULONG |
傳回共享使用者模式頁面中 SuiteMask 欄位的值。
此值應該與 Windows SDK 中所記載之結構 OSVERSIONINFOEX 的 wSuiteMask 字段相同。 |
DEBUG_DATA_DumpWriterStatus | ULONG | 傳回傾印檔案寫入器的狀態。 此值是作業系統和傾印檔類型特定的。 |
下列值適用於 Windows XP 和更新版本的 Windows:
值 | 傳回類型 | 描述 |
---|---|---|
DEBUG_DATA_NtBuildLabAddr | ULONG64 | 傳回核心變數 NtBuildLab 的位址。 |
DEBUG_DATA_KiNormalSystemCall | ULONG64 | (Itanium 僅) 傳回核心函式 KiNormalSystemCall 的位址。 |
DEBUG_DATA_KiProcessorBlockAddr | ULONG64 | 傳回核心變數 KiProcessorBlock。 |
DEBUG_DATA_MmUnloadedDriversAddr | ULONG64 | 傳回核心變數 MmUnloadedDrivers 的位址。 |
DEBUG_DATA_MmLastUnloadedDriverAddr | ULONG64 | 傳回核心變數 MmLastUnloadedDriver 的位址。 |
DEBUG_DATA_MmTriageActionTakenAddr | ULONG64 | 傳回核心變數 VerifierTriageActionTaken 的位址。 |
DEBUG_DATA_MmSpecialPoolTagAddr | ULONG64 | 傳回核心變數 MmSpecialPoolTag 的位址。 |
DEBUG_DATA_KernelVerifierAddr | ULONG64 | 傳回核心變數 KernelVerifier 的位址。 |
DEBUG_DATA_MmVerifierDataAddr | ULONG64 | 傳回核心變數 MmVerifierData 的位址。 |
DEBUG_DATA_MmAllocatedNonPagedPoolAddr | ULONG64 | 傳回核心變數 MmAllocatedNonPagedPool 的位址。 |
DEBUG_DATA_MmPeakCommitmentAddr | ULONG64 | 傳回核心變數 MmPeakCommitment 的位址。 |
DEBUG_DATA_MmTotalCommitLimitMaximumAddr | ULONG64 | 傳回核心變數 MmTotalCommitLimitMaximum 的位址。 |
DEBUG_DATA_CmNtCSDVersionAddr | ULONG64 | 傳回核心變數 CmNtCSDVersion 的位址。 |
DEBUG_DATA_MmPhysicalMemoryBlockAddr | ULONG64 | 傳回 核心變數 MmPhysicalMemoryBlock 的位址。 |
DEBUG_DATA_MmSessionBase | ULONG64 | 傳回核心變數 MmSessionBase 的位址。 |
DEBUG_DATA_MmSessionSize | ULONG64 | 傳回核心變數 MmSessionSize 的位址。 |
DEBUG_DATA_MmSystemParentTablePage | ULONG64 | (Itanium 只會) 傳回核心變數 MmSystemParentTablePage 的位址。 |
下列值適用於 Windows Server 2003 和更新版本的 Windows:
值 | 傳回類型 | 描述 |
---|---|---|
DEBUG_DATA_MmVirtualTranslationBase | ULONG64 | 傳回核心變數 MmVirtualTranslationBase 的位址。 |
DEBUG_DATA_OffsetKThreadNextProcessor | USHORT | 傳回 KTHREAD 結構中 NextProcessor 字段的位移。 |
DEBUG_DATA_OffsetKThreadTeb | USHORT | 傳回 KTHREAD 結構中 Teb 欄位的位移。 |
DEBUG_DATA_OffsetKThreadKernelStack | USHORT | 傳回 KTHREAD 結構中 KernelStack 欄位移。 |
DEBUG_DATA_OffsetKThreadInitialStack | USHORT | 傳回 KTHREAD 結構中 InitialStack 欄位移。 |
DEBUG_DATA_OffsetKThreadApcProcess | USHORT | 傳回 KTHREAD 結構中 ApcState.Process 字段的位移。 |
DEBUG_DATA_OffsetKThreadState | USHORT | 傳回 KTHREAD 結構中 State 欄位移。 |
DEBUG_DATA_OffsetKThreadBStore | USHORT | (Itanium 只會) 傳回 KTHREAD 結構中 InitialBStore 字段的位移。 |
DEBUG_DATA_OffsetKThreadBStoreLimit | USHORT | (Itanium 只會) 傳回 KTHREAD 結構中 BStoreLimit 字段的位移。 |
DEBUG_DATA_SizeEProcess | USHORT | 傳回 EPROCESS 結構的大小。 |
DEBUG_DATA_OffsetEprocessPeb | USHORT | 傳回 EPROCESS 結構中 Peb 欄位的位移。 |
DEBUG_DATA_OffsetEprocessParentCID | USHORT | 會傳回 EPROCESS 結構中 InheritedFromUniqueProcessId 欄位的位移。 |
DEBUG_DATA_OffsetEprocessDirectoryTableBase | USHORT | 傳回 EPROCESS 結構中 DirectoryTableBase 欄位的位移。 |
DEBUG_DATA_SizePrcb | USHORT | 傳回 KPRCB 結構的大小。 |
DEBUG_DATA_OffsetPrcbDpcRoutine | USHORT | 傳回 KPRCB 結構中 DpcRoutineActive 字段的位移。 |
DEBUG_DATA_OffsetPrcbCurrentThread | USHORT | 傳回 KPRCB 結構中 CurrentThread 欄位移。 |
DEBUG_DATA_OffsetPrcbMhz | USHORT | 傳回 KPRCB 結構中 MHz 欄位移。 |
DEBUG_DATA_OffsetPrcbCpuType | USHORT |
針對Itanium 處理器: 傳回 KPRCB 結構中 ProcessorModel 欄位移。
針對所有其他處理器: 傳回 KPRCB 結構中 CpuType 欄位的位移。 |
DEBUG_DATA_OffsetPrcbVendorString | USHORT |
針對Itanium 處理器: 傳回 KPRCB 結構中 ProcessorVendorString 欄位的位移。
針對所有其他處理器: 傳回 KPRCB 結構中 VendorString 欄位移。 |
DEBUG_DATA_OffsetPrcbProcessorState | USHORT | 傳回 KPRCB 結構中 ProcessorState.ContextFrame 欄位的位移。 |
DEBUG_DATA_OffsetPrcbNumber | USHORT | 傳回 KPRCB 結構中 [數位 ] 欄位移。 |
DEBUG_DATA_SizeEThread | USHORT | 傳回ETHREAD結構的大小。 |
DEBUG_DATA_KdPrintCircularBufferPtrAddr | ULONG64 | 傳回核心變數 KdPrintCircularBuffer 的位址。 |
DEBUG_DATA_KdPrintBufferSizeAddr | ULONG64 | 傳回核心變數 KdPrintBufferSize 的位址。 |
[out] Buffer
接收指定之調試程序數據的值。 上表中的 「傳回類型」數據行會指定傳回的數據類型。 您可以將 Buffer 轉換成該類型的指標來存取數據。
[in] BufferSize
指定緩衝區 緩衝區的位元組大小。
[out, optional] DataSize
接收緩衝區 緩衝區中使用的位元元組數目。 如果 DataSize 為 NULL,則不會傳回這項資訊。
傳回值
傳回碼 | 描述 |
---|---|
|
此方法成功。 |
這個方法也可以傳回錯誤值。 如需詳細資訊,請參閱 傳回值 。
備註
某些或所有值在某些偵錯會話中可能無法使用。 例如,某些值僅適用於特定版本的操作系統。
如需 ReadDebuggerData 所傳回之不同值的詳細數據,請參閱 Microsoft Windows Internals byDavid 和 Mark Russinovich、Microsoft Windows SDK,以及 Windows 驅動程式套件 (WDK) 。
規格需求
需求 | 值 |
---|---|
目標平台 | 桌面 |
標頭 | dbgeng.h (包含 Dbgeng.h) |