Metode IDebugDataSpaces4::ReadDebuggerData (dbgeng.h)

Metode ReadDebuggerData mengembalikan informasi tentang target yang telah dikueri atau ditentukan mesin debugger selama sesi saat ini. Informasi yang tersedia mencakup lokasi lokasi kernel target utama tertentu, nilai status tertentu, dan sejumlah hal lainnya.

Sintaks

HRESULT ReadDebuggerData(
  [in]            ULONG  Index,
  [out]           PVOID  Buffer,
  [in]            ULONG  BufferSize,
  [out, optional] PULONG DataSize
);

Parameter

[in] Index

Menentukan indeks data yang akan diambil. Berikut adalah nilai yang valid:

Nilai Jenis Hasil Deskripsi
DEBUG_DATA_KernBase ULONG64 Mengembalikan alamat dasar gambar kernel.
DEBUG_DATA_BreakpointWithStatusAddr ULONG64 Mengembalikan alamat fungsi kernel BreakpointWithStatusInstruction.
DEBUG_DATA_SavedContextAddr ULONG64 Mengembalikan alamat rekaman konteks yang disimpan selama pemeriksaan bug. Ini hanya berlaku setelah pemeriksaan bug.
DEBUG_DATA_KiCallUserModeAddr ULONG64 Mengembalikan alamat fungsi kernel KiCallUserMode.
DEBUG_DATA_KeUserCallbackDispatcherAddr ULONG64 Mengembalikan variabel kernel KeUserCallbackDispatcher.
DEBUG_DATA_PsLoadedModuleListAddr ULONG64 Mengembalikan alamat variabel kernel PsLoadedModuleList.
DEBUG_DATA_PsActiveProcessHeadAddr ULONG64 Mengembalikan alamat variabel kernel PsActiveProcessHead.
DEBUG_DATA_PspCidTableAddr ULONG64 Mengembalikan alamat variabel kernel PspCidTable.
DEBUG_DATA_ExpSystemResourcesListAddr ULONG64 Mengembalikan alamat variabel kernel ExpSystemResourcesList.
DEBUG_DATA_ExpPagedPoolDescriptorAddr ULONG64 Mengembalikan alamat variabel kernel ExpPagedPoolDescriptor.
DEBUG_DATA_ExpNumberOfPagedPoolsAddr ULONG64 Mengembalikan alamat variabel kernel ExpNumberOfPagedPools.
DEBUG_DATA_KeTimeIncrementAddr ULONG64 Mengembalikan alamat variabel kernel KeTimeIncrement.
DEBUG_DATA_KeBugCheckCallbackListHeadAddr ULONG64 Mengembalikan alamat variabel kernel KeBugCheckCallbackListHead.
DEBUG_DATA_KiBugcheckDataAddr ULONG64 Mengembalikan variabel kernel KiBugCheckData.
DEBUG_DATA_IopErrorLogListHeadAddr ULONG64 Mengembalikan alamat variabel kernel IopErrorLogListHead.
DEBUG_DATA_ObpRootDirectoryObjectAddr ULONG64 Mengembalikan alamat variabel kernel ObpRootDirectoryObject.
DEBUG_DATA_ObpTypeObjectTypeAddr ULONG64 Mengembalikan alamat variabel kernel ObpTypeObjectType.
DEBUG_DATA_MmSystemCacheStartAddr ULONG64 Mengembalikan alamat variabel kernel MmSystemCacheStart.
DEBUG_DATA_MmSystemCacheEndAddr ULONG64 Mengembalikan alamat variabel kernel MmSystemCacheEnd.
DEBUG_DATA_MmSystemCacheWsAddr ULONG64 Mengembalikan alamat variabel kernel MmSystemCacheWs.
DEBUG_DATA_MmPfnDatabaseAddr ULONG64 Mengembalikan alamat variabel kernel MmPfnDatabase.
DEBUG_DATA_MmSystemPtesStartAddr ULONG64 Mengembalikan variabel kernel MmSystemPtesStart.
DEBUG_DATA_MmSystemPtesEndAddr ULONG64 Mengembalikan variabel kernel MmSystemPtesEnd.
DEBUG_DATA_MmSubsectionBaseAddr ULONG64 Mengembalikan alamat variabel kernel MmSubsectionBase.
DEBUG_DATA_MmNumberOfPagingFilesAddr ULONG64 Mengembalikan alamat variabel kernel MmNumberOfPagingFiles.
DEBUG_DATA_MmLowestPhysicalPageAddr ULONG64 Mengembalikan alamat variabel kernel MmLowestPhysicalPage.
DEBUG_DATA_MmHighestPhysicalPageAddr ULONG64 Mengembalikan alamat variabel kernel MmHighestPhysicalPage.
DEBUG_DATA_MmNumberOfPhysicalPagesAddr ULONG64 Mengembalikan alamat variabel kernel MmNumberOfPhysicalPages.
DEBUG_DATA_MmMaximumNonPagedPoolInBytesAddr ULONG64 Mengembalikan alamat variabel kernel MmMaximumNonPagedPoolInBytes.
DEBUG_DATA_MmNonPagedSystemStartAddr ULONG64 Mengembalikan alamat variabel kernel MmNonPagedSystemStart.
DEBUG_DATA_MmNonPagedPoolStartAddr ULONG64 Mengembalikan alamat variabel kernel MmNonPagedPoolStart.
DEBUG_DATA_MmNonPagedPoolEndAddr ULONG64 Mengembalikan alamat variabel kernel MmNonPagedPoolEnd.
DEBUG_DATA_MmPagedPoolStartAddr ULONG64 Mengembalikan alamat variabel kernel MmPagedPoolStart.
DEBUG_DATA_MmPagedPoolEndAddr ULONG64 Mengembalikan alamat variabel kernel MmPagedPoolEnd.
DEBUG_DATA_MmPagedPoolInformationAddr ULONG64 Mengembalikan alamat variabel kernel MmPagedPoolInfo.
DEBUG_DATA_MmPageSize ULONG64 Mengembalikan ukuran halaman.
DEBUG_DATA_MmSizeOfPagedPoolInBytesAddr ULONG64 Mengembalikan alamat variabel kernel MmSizeOfPagedPoolInBytes.
DEBUG_DATA_MmTotalCommitLimitAddr ULONG64 Mengembalikan alamat variabel kernel MmTotalCommitLimit.
DEBUG_DATA_MmTotalCommittedPagesAddr ULONG64 Mengembalikan alamat variabel kernel MmTotalCommittedPages.
DEBUG_DATA_MmSharedCommitAddr ULONG64 Mengembalikan alamat variabel kernel MmSharedCommit.
DEBUG_DATA_MmDriverCommitAddr ULONG64 Mengembalikan alamat variabel kernel MmDriverCommit.
DEBUG_DATA_MmProcessCommitAddr ULONG64 Mengembalikan alamat variabel kernel MmProcessCommit.
DEBUG_DATA_MmPagedPoolCommitAddr ULONG64 Mengembalikan alamat variabel kernel MmPagedPoolCommit.
DEBUG_DATA_MmExtendedCommitAddr ULONG64 Mengembalikan alamat variabel kernel MmExtendedCommit..
DEBUG_DATA_MmZeroedPageListHeadAddr ULONG64 Mengembalikan alamat variabel kernel MmZeroedPageListHead.
DEBUG_DATA_MmFreePageListHeadAddr ULONG64 Mengembalikan alamat variabel kernel MmFreePageListHead.
DEBUG_DATA_MmStandbyPageListHeadAddr ULONG64 Mengembalikan alamat variabel kernel MmStandbyPageListHead.
DEBUG_DATA_MmModifiedPageListHeadAddr ULONG64 Mengembalikan alamat variabel kernel MmModifiedPageListHead.
DEBUG_DATA_MmModifiedNoWritePageListHeadAddr ULONG64 Mengembalikan alamat variabel kernel MmModifiedNoWritePageListHead.
DEBUG_DATA_MmAvailablePagesAddr ULONG64 Mengembalikan alamat variabel kernel MmAvailablePages.
DEBUG_DATA_MmResidentAvailablePagesAddr ULONG64 Mengembalikan alamat variabel kernel MmResidentAvailablePages.
DEBUG_DATA_PoolTrackTableAddr ULONG64 Mengembalikan alamat variabel kernel PoolTrackTable.
DEBUG_DATA_NonPagedPoolDescriptorAddr ULONG64 Mengembalikan alamat variabel kernel NonPagedPoolDescriptor.
DEBUG_DATA_MmHighestUserAddressAddr ULONG64 Mengembalikan alamat variabel kernel MmHighestUserAddress.
DEBUG_DATA_MmSystemRangeStartAddr ULONG64 Mengembalikan alamat variabel kernel MmSystemRangeStart.
DEBUG_DATA_MmUserProbeAddressAddr ULONG64 Mengembalikan alamat variabel kernel MmUserProbeAddress.
DEBUG_DATA_KdPrintCircularBufferAddr ULONG64 Mengembalikan variabel kernel KdPrintDefaultCircularBuffer.
DEBUG_DATA_KdPrintCircularBufferEndAddr ULONG64 Mengembalikan alamat akhir array KdPrintDefaultCircularBuffer
DEBUG_DATA_KdPrintWritePointerAddr ULONG64 Mengembalikan alamat variabel kernel KdPrintWritePointer.
DEBUG_DATA_KdPrintRolloverCountAddr ULONG64 Mengembalikan alamat variabel kernel KdPrintRolloverCount.
DEBUG_DATA_MmLoadedUserImageListAddr ULONG64 Mengembalikan alamat variabel kernel MmLoadedUserImageList.
DEBUG_DATA_PaeEnabled BOOLEAN Mengembalikan TRUE ketika sistem target mengaktifkan PAE.

Mengembalikan FALSE jika tidak.

DEBUG_DATA_SharedUserData ULONG64 Mengembalikan alamat dalam target struktur mode pengguna bersama, KUSER_SHARED_DATA. Struktur KUSER_SHARED_DATA didefinisikan dalam ntddk.h (dalam Windows Driver Kit) dan ntexapi.h (di Windows SDK).

Beberapa informasi yang terkandung dalam struktur ini ditampilkan oleh ekstensi debugger !kuser.

DEBUG_DATA_ProductType ULONG Mengembalikan nilai bidang NtProductType di halaman mode pengguna bersama.

Nilai ini harus ditafsirkan dengan cara yang sama seperti bidang wProductType dari struktur OSVERSIONINFOEX, yang didokumentasikan dalam Windows SDK.

DEBUG_DATA_SuiteMask ULONG Mengembalikan nilai bidang SuiteMask di halaman mode pengguna bersama.

Nilai ini harus ditafsirkan dengan cara yang sama seperti bidang wSuiteMask dari struktur OSVERSIONINFOEX, yang didokumentasikan dalam Windows SDK.

DEBUG_DATA_DumpWriterStatus ULONG Mengembalikan status penulis file cadangan. Nilai ini spesifik untuk sistem operasi dan jenis file cadangan.
 

Nilai berikut ini valid untuk Windows XP dan versi Windows yang lebih baru:

Nilai Jenis Hasil Deskripsi
DEBUG_DATA_NtBuildLabAddr ULONG64 Mengembalikan alamat variabel kernel NtBuildLab.
DEBUG_DATA_KiNormalSystemCall ULONG64 (Itanium saja) Mengembalikan alamat fungsi kernel KiNormalSystemCall.
DEBUG_DATA_KiProcessorBlockAddr ULONG64 Mengembalikan variabel kernel KiProcessorBlock.
DEBUG_DATA_MmUnloadedDriversAddr ULONG64 Mengembalikan alamat variabel kernel MmUnloadedDrivers.
DEBUG_DATA_MmLastUnloadedDriverAddr ULONG64 Mengembalikan alamat variabel kernel MmLastUnloadedDriver.
DEBUG_DATA_MmTriageActionTakenAddr ULONG64 Mengembalikan alamat variabel kernel VerifierTriageActionTaken.
DEBUG_DATA_MmSpecialPoolTagAddr ULONG64 Mengembalikan alamat variabel kernel MmSpecialPoolTag.
DEBUG_DATA_KernelVerifierAddr ULONG64 Mengembalikan alamat variabel kernel KernelVerifier.
DEBUG_DATA_MmVerifierDataAddr ULONG64 Mengembalikan alamat variabel kernel MmVerifierData.
DEBUG_DATA_MmAllocatedNonPagedPoolAddr ULONG64 Mengembalikan alamat variabel kernel MmAllocatedNonPagedPool.
DEBUG_DATA_MmPeakCommitmentAddr ULONG64 Mengembalikan alamat variabel kernel MmPeakCommitment.
DEBUG_DATA_MmTotalCommitLimitMaximumAddr ULONG64 Mengembalikan alamat variabel kernel MmTotalCommitLimitMaximum.
DEBUG_DATA_CmNtCSDVersionAddr ULONG64 Mengembalikan alamat variabel kernel CmNtCSDVersion.
DEBUG_DATA_MmPhysicalMemoryBlockAddr ULONG64 Mengembalikan alamat variabel kernel MmPhysicalMemoryBlock.
DEBUG_DATA_MmSessionBase ULONG64 Mengembalikan alamat variabel kernel MmSessionBase.
DEBUG_DATA_MmSessionSize ULONG64 Mengembalikan alamat variabel kernel MmSessionSize.
DEBUG_DATA_MmSystemParentTablePage ULONG64 (Itanium saja) Mengembalikan alamat variabel kernel MmSystemParentTablePage.
 

Nilai berikut ini valid untuk Windows Server 2003 dan versi Windows yang lebih baru:

Nilai Jenis Hasil Deskripsi
DEBUG_DATA_MmVirtualTranslationBase ULONG64 Mengembalikan alamat variabel kernel MmVirtualTranslationBase.
DEBUG_DATA_OffsetKThreadNextProcessor USHORT Mengembalikan offset bidang NextProcessor dalam struktur KTHREAD.
DEBUG_DATA_OffsetKThreadTeb USHORT Mengembalikan offset bidang Teb dalam struktur KTHREAD.
DEBUG_DATA_OffsetKThreadKernelStack USHORT Mengembalikan offset bidang KernelStack dalam struktur KTHREAD.
DEBUG_DATA_OffsetKThreadInitialStack USHORT Mengembalikan offset bidang InitialStack dalam struktur KTHREAD.
DEBUG_DATA_OffsetKThreadApcProcess USHORT Mengembalikan offset bidang ApcState.Process dalam struktur KTHREAD.
DEBUG_DATA_OffsetKThreadState USHORT Mengembalikan offset bidang Status dalam struktur KTHREAD.
DEBUG_DATA_OffsetKThreadBStore USHORT (Itanium saja) Mengembalikan offset bidang InitialBStore dalam struktur KTHREAD.
DEBUG_DATA_OffsetKThreadBStoreLimit USHORT (Itanium saja) Mengembalikan offset bidang BStoreLimit dalam struktur KTHREAD.
DEBUG_DATA_SizeEProcess USHORT Mengembalikan ukuran struktur EPROCESS.
DEBUG_DATA_OffsetEprocessPeb USHORT Mengembalikan offset bidang Peb dalam struktur EPROCESS.
DEBUG_DATA_OffsetEprocessParentCID USHORT Mengembalikan offset bidang InheritedFromUniqueProcessId dalam struktur EPROCESS.
DEBUG_DATA_OffsetEprocessDirectoryTableBase USHORT Mengembalikan offset bidang DirectoryTableBase dalam struktur EPROCESS.
DEBUG_DATA_SizePrcb USHORT Mengembalikan ukuran struktur KPRCB.
DEBUG_DATA_OffsetPrcbDpcRoutine USHORT Mengembalikan offset bidang DpcRoutineActive dalam struktur KPRCB.
DEBUG_DATA_OffsetPrcbCurrentThread USHORT Mengembalikan offset bidang CurrentThread dalam struktur KPRCB.
DEBUG_DATA_OffsetPrcbMhz USHORT Mengembalikan offset bidang MHz dalam struktur KPRCB.
DEBUG_DATA_OffsetPrcbCpuType USHORT Untuk prosesor Itanium: Mengembalikan offset bidang ProcessorModel dalam struktur KPRCB.

Untuk semua prosesor lainnya: Mengembalikan offset bidang CpuType dalam struktur KPRCB.

DEBUG_DATA_OffsetPrcbVendorString USHORT Untuk prosesor Itanium: Mengembalikan offset bidang ProcessorVendorString dalam struktur KPRCB.

Untuk semua prosesor lainnya: Mengembalikan offset bidang VendorString dalam struktur KPRCB.

DEBUG_DATA_OffsetPrcbProcessorState USHORT Mengembalikan offset bidang ProcessorState.ContextFrame dalam struktur KPRCB.
DEBUG_DATA_OffsetPrcbNumber USHORT Mengembalikan offset bidang Angka dalam struktur KPRCB.
DEBUG_DATA_SizeEThread USHORT Mengembalikan ukuran struktur ETHREAD.
DEBUG_DATA_KdPrintCircularBufferPtrAddr ULONG64 Mengembalikan alamat variabel kernel KdPrintCircularBuffer.
DEBUG_DATA_KdPrintBufferSizeAddr ULONG64 Mengembalikan alamat variabel kernel KdPrintBufferSize.

[out] Buffer

Menerima nilai data debugger yang ditentukan. Kolom "Jenis Pengembalian" dalam tabel di atas menentukan jenis data yang dikembalikan. Data dapat diakses dengan mentransmisikan Buffer ke penunjuk ke jenis tersebut.

[in] BufferSize

Menentukan ukuran dalam byte buffer Buffer.

[out, optional] DataSize

Menerima jumlah byte yang digunakan dalam buffer Buffer. Jika DataSizeNULL, informasi ini tidak dikembalikan.

Mengembalikan nilai

Menampilkan kode Deskripsi
S_OK
Metode berhasil.
 

Metode ini juga dapat mengembalikan nilai kesalahan. Lihat Mengembalikan Nilai untuk detail selengkapnya.

Keterangan

Beberapa atau semua nilai mungkin tidak tersedia dalam sesi penelusuran kesalahan tertentu. Misalnya, beberapa nilai hanya tersedia untuk versi sistem operasi tertentu.

Untuk detail tentang nilai berbeda yang dikembalikan oleh ReadDebuggerData, lihat Microsoft Windows Internals oleh David Solomon dan Mark Russinovich, Microsoft Windows SDK, dan Windows Driver Kit (WDK).

Persyaratan

Persyaratan Nilai
Target Platform Desktop
Header dbgeng.h (termasuk Dbgeng.h)