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 |
---|---|
|
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) |
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk