Bagikan melalui


.reload (Modul Muat Ulang)

Perintah .reload menghapus semua informasi simbol untuk modul yang ditentukan dan memuat ulang simbol ini sesuai kebutuhan. Dalam beberapa kasus, perintah ini juga memuat ulang atau membongkar modul itu sendiri.

.reload [Options] [Module[=Address[,Size[,Timestamp]]]] 
.reload -?

Parameter

Opsi Salah satu opsi berikut:

/d
Muat ulang semua modul dalam daftar modul debugger. (Saat Anda menghilangkan semua parameter, situasi ini adalah default selama penelusuran kesalahan mode pengguna.)

/f
Memaksa debugger untuk segera memuat simbol. Parameter ini mengambil alih pemuatan simbol malas. Untuk informasi selengkapnya, lihat bagian Komentar berikut ini.

/i
Mengabaikan ketidakcocokan dalam versi file .pdb. (Jika Anda tidak menyertakan parameter ini, debugger tidak memuat file simbol yang tidak cocok.) Ketika Anda menggunakan /i, /f juga digunakan, bahkan jika Anda tidak secara eksplisit menentukannya.

/l
Mencantumkan modul tetapi tidak memuat ulang simbolnya. (Dalam mode kernel, parameter ini menyediakan output yang mirip denganPerintah lm .)

/n
Memuat ulang simbol kernel saja. Parameter ini tidak memuat ulang simbol pengguna apa pun. (Anda hanya dapat menggunakan opsi ini selama penelusuran kesalahan mode kernel.)

/o
Memaksa file yang di-cache di penyimpanan hilir server simbol untuk ditimpa. Ketika Anda menggunakan bendera ini, Anda juga harus menyertakan /f. Secara default, file penyimpanan hilir tidak pernah ditimpa.

Karena server simbol menggunakan nama file yang berbeda untuk simbol dari setiap build biner yang berbeda, Anda tidak perlu menggunakan opsi ini kecuali Anda yakin penyimpanan hilir Anda telah rusak.

/dtk
Memuat ulang semua modul dalam daftar gambar modul sistem. (Saat Anda menghilangkan semua parameter, situasi ini adalah default selama debugging mode kernel.)

Jika Anda memuat modul sistem individual berdasarkan nama saat Anda melakukan penelusuran kesalahan mode pengguna, Anda harus menyertakan /s.

/u
Membongkar modul yang ditentukan dan semua simbolnya. Debugger membongkar modul yang dimuat yang namanya cocok dengan Modul, terlepas dari jalur lengkapnya. Nama gambar juga dicari. Untuk informasi selengkapnya, lihat catatan di bagian Komentar berikut ini.

/unl
Memuat ulang simbol berdasarkan informasi gambar dalam daftar modul yang dibongkar.

/pengguna
Memuat ulang simbol pengguna saja. (Anda hanya dapat menggunakan opsi ini selama penelusuran kesalahan mode kernel.)

/v
Mengaktifkan mode verbose.

/w
Memperlakukan Modul sebagai string harfiah. Perawatan ini mencegah debugger memperluas karakter kartubebas.

Modul
Menentukan nama gambar pada sistem target untuk memuat ulang simbol pada komputer host. Modul harus menyertakan nama dan ekstensi nama file file. Kecuali Anda menggunakan opsi /w , Modul mungkin berisi berbagai karakter kartubebas dan penentu. Untuk informasi selengkapnya tentang sintaks, lihat Sintaks Wildcard String. Jika Anda menghilangkan Modul, perilaku perintah .reload bergantung pada Opsi mana yang Anda gunakan.

Alamat
Menentukan alamat dasar modul. Biasanya, Anda harus memiliki alamat ini hanya jika header gambar telah rusak atau di-page out.

Tingginya
Menentukan ukuran gambar modul. Dalam banyak situasi, debugger mengetahui ukuran modul yang benar. Ketika debugger tidak tahu ukuran yang benar, Anda harus menentukan Ukuran. Ukuran ini bisa menjadi ukuran modul aktual atau angka yang lebih besar, tetapi ukurannya tidak boleh lebih kecil. Biasanya, Anda harus memiliki ukuran ini hanya jika header gambar telah rusak atau di-page out.

Timestamp
Menentukan tanda waktu gambar modul. Dalam banyak situasi, debugger mengetahui tanda waktu modul yang benar. Ketika debugger tidak mengetahui tanda waktu, Anda harus menentukan Tanda Waktu. Biasanya, Anda harus memiliki tanda waktu ini hanya jika header gambar telah rusak atau di-page out.

Catatan Tidak boleh ada ruang kosong antara parameter Alamat, Ukuran, dan Tanda Waktu.

-?
Menampilkan teks bantuan singkat untuk perintah ini.

Lingkungan

Item Deskripsi
Mode Mode pengguna, mode kernel
Target Live, crash dump
Platform Semua

Informasi Tambahan

Untuk informasi selengkapnya tentang pemuatan simbol yang ditangguhkan (malas), lihat Pemuatan Simbol Yang Ditangguhkan. Untuk informasi selengkapnya tentang opsi simbol lainnya, lihat Mengatur Opsi Simbol.

Keterangan

Perintah .reload tidak menyebabkan informasi simbol dibaca. Sebagai gantinya, perintah ini memungkinkan debugger tahu bahwa file simbol mungkin telah berubah atau bahwa modul baru harus ditambahkan ke daftar modul. Perintah ini menyebabkan debugger merevisi daftar modulnya dan menghapus informasi simbolnya untuk modul yang ditentukan. Informasi simbol aktual tidak dibaca dari file .pdb individual hingga informasi diperlukan. (Pemuatan semacam ini dikenal sebagai pemuatan simbol malas atau pemuatan simbol yang ditangguhkan.)

Anda dapat memaksa pemuatan simbol terjadi dengan menggunakan opsi /f atau dengan mengeluarkan perintah ld (Simbol Muat).

Perintah .reload berguna jika sistem berhenti merespons (yaitu, crash), yang dapat menyebabkan Anda kehilangan simbol untuk komputer target yang sedang di-debug. Perintah juga dapat berguna jika Anda telah memperbarui pohon simbol.

Jika header gambar salah karena beberapa alasan, seperti modul yang dibongkar, atau di-page out, Anda dapat memuat simbol dengan benar dengan menggunakan argumen /unl , atau menentukan Alamat dan Ukuran.

Perintah .reload /u melakukan pencarian luas. Debugger pertama kali mencoba mencocokkan Modul dengan nama modul yang tepat, terlepas dari jalurnya. Jika debugger tidak dapat menemukan kecocokan ini, Modul diperlakukan sebagai nama gambar yang dimuat. Misalnya, jika HAL yang berada dalam memori memiliki nama modul halacpi.dll, kedua perintah berikut membongkar simbolnya.

kd> .reload /u halacpi.dll

kd> .reload /u hal

Jika Anda melakukan penelusuran kesalahan mode pengguna dan ingin memuat modul yang bukan bagian dari daftar modul aplikasi target, Anda harus menyertakan opsi /s , seperti yang ditunjukkan contoh berikut.

0:000> .reload /u ntdll.dll
Unloaded ntdll.dll

0:000> .reload /s /f ntdll.dll