Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Ekstensi !db, !dc, !dd, !dp, !dq, !du, dan !dw menampilkan data di alamat fisik yang ditentukan pada komputer target.
Perintah ekstensi ini tidak boleh dikacaukan dengan perintah d* (Memori Tampilan), atau dengan perintah ekstensi !ntsdexts.dp.
!db [Caching] [-m] [PhysicalAddress] [L Size]
!dc [Caching] [-m] [PhysicalAddress] [L Size]
!dd [Caching] [-m] [PhysicalAddress] [L Size]
!dp [Caching] [-m] [PhysicalAddress] [L Size]
!dq [Caching] [-m] [PhysicalAddress] [L Size]
!du [Caching] [-m] [PhysicalAddress] [L Size]
!dw [Caching] [-m] [PhysicalAddress] [L Size]
Parameter
Caching
Bisa menjadi salah satu nilai berikut. Nilai Penembolokan harus dikelilingi oleh tanda kurung siku:
[c]
Menyebabkan ekstensi ini dibaca dari memori yang di-cache.
[uc]
Menyebabkan ekstensi ini dibaca dari memori yang tidak di-cache.
[wc]
Menyebabkan ekstensi ini dibaca dari memori gabungan tulis.
-m
Menyebabkan memori dibaca satu unit pada satu waktu. Misalnya, !db -m membaca memori dalam gugus 8-bit dan !dw -m membaca memori dalam gugus 16-bit. Jika perangkat keras Anda tidak mendukung pembacaan memori fisik 32-bit, mungkin perlu menggunakan opsi -m . Opsi ini tidak memengaruhi panjang atau tampilan tampilan -- hanya memengaruhi bagaimana memori diakses.
PhysicalAddress
Menentukan alamat fisik pertama yang akan ditampilkan, dalam format heksadesimal. Jika ini dihilangkan saat pertama kali perintah ini digunakan, alamat default ke nol. Jika ini dihilangkan pada penggunaan berikutnya, tampilan akan dimulai di mana tampilan terakhir berakhir.
L **** Tingginya
Menentukan jumlah potongan memori yang akan ditampilkan. Ukuran gugus ditentukan oleh ekstensi yang tepat yang digunakan.
Lingkungan
Mode |
Kernel Mode |
DLL
Kext.dll
Informasi Tambahan
Untuk menulis ke memori fisik, gunakan ekstensi !e\*. Untuk gambaran umum manipulasi memori dan deskripsi perintah terkait memori lainnya, lihat Membaca dan Menulis Memori.
Keterangan
Ekstensi ini masing-masing menampilkan memori fisik, tetapi format tampilan dan panjang defaultnya berbeda:
Ekstensi !db menampilkan byte heksadesimal dan karakter ASCII-nya yang setara. Panjang defaultnya adalah 128 byte.
Ekstensi !dc menampilkan nilai DWORD dan setara karakter ASCII-nya. Panjang defaultnya adalah 32 DWORD (128 total byte).
Ekstensi !dd menampilkan nilai DWORD. Panjang defaultnya adalah 32 DWORD (128 total byte).
Ekstensi !dp menampilkan nilai ULONG_PTR. Ini adalah kata-kata 32-bit atau 64-bit, tergantung pada ukuran instruksi. Panjang defaultnya adalah 128 total byte.
Ekstensi !dq menampilkan nilai ULONG64_PTR. Ini adalah kata-kata 32-bit. Panjang defaultnya adalah 128 total byte.
Ekstensi !du menampilkan karakter UNICODE. Panjang default adalah 16 karakter (total 32 byte), atau hingga karakter NULL ditemui.
Ekstensi !dw menampilkan nilai WORD. Panjang defaultnya adalah 64 DWORD (128 total byte).
Akibatnya, menggunakan dua ekstensi ini yang berbeda dengan nilai Ukuran yang sama kemungkinan besar akan menghasilkan perbedaan dalam jumlah total memori yang ditampilkan. Misalnya, menggunakan perintah !db L 32 menghasilkan 32 byte yang ditampilkan (sebagai byte heksadesimal), sedangkan perintah !dd L 32 menghasilkan 128 byte ditampilkan (sebagai nilai DWORD).
Berikut adalah contoh di mana bendera atribut penembolokan diperlukan:
kd> !dc e9000
physical memory read at e9000 failed
If you know the caching attributes used for the memory,
try specifying [c], [uc] or [wc], as in !dd [c] <params>.
WARNING: Incorrect use of these flags will cause unpredictable
processor corruption. This may immediately (or at any time in
the future until reboot) result in a system hang, incorrect data
being displayed or other strange crashes and corruption.
kd> !dc [c] e9000
# e9000 000ea002 000ea002 000ea002 000ea002 ................
# e9010 000ea002 000ea002 000ea002 000ea002 ................