Bagikan melalui


Opsi Command-Line WinDbg

Pengguna WinDbg pertama kali harus dimulai dengan bagian Debugging Menggunakan WinDbg (Klasik).

Baris perintah WinDbg menggunakan sintaks berikut:

windbg [ -server ServerTransport | -remote ClientTransport ] [-lsrcpath ]
   [ -premote SmartClientTransport ] [-?] [-ee {masm|c++}] 
   [-clines lines] [-b] [-d] [-aExtension]  
   [-failinc] [-g] [-G] [-hd] [-j] [-n] [-noshell] [-o] [-openPrivateDumpByHandle Handle]
   [-Q | -QY] [-QS | -QSY] [-robp] [-secure] [-ses] [-sdce] 
   [-sicv] [-sins] [-snc] [-snul] [-sup] [-sflags 0xNumber] 
   [-T Title] [-v] [-log{o|a} LogFile] [-noinh] 
   [-i ImagePath] [-y SymbolPath] [-srcpath SourcePath] 
   [-k [ConnectType] | -kl | -kx ExdiOptions] [-c "command"] 
   [-pb] [-pd] [-pe] [-pr] [-pt Seconds] [-pv]
   [-W Workspace] [-WF Filename] [-WX] [-zp PageFile] 
   [ -p PID | -pn Name | -psn ServiceName | -z DumpFile | executable ] 

windbg -I[S] 

windbg -IU KeyString

windbg -IA[S] 

Deskripsi opsi baris perintah WinDbg mengikuti. Semua opsi baris perintah peka huruf besar/kecil kecuali untuk -j. Tanda hubung awal dapat diganti dengan garis miring (/).

Jika opsi -remote atau -server digunakan, opsi tersebut harus muncul sebelum opsi lain pada baris perintah. Jika executable ditentukan, file tersebut harus muncul terakhir pada baris perintah; teks apa pun setelah nama yang dapat dieksekusi diteruskan ke program yang dapat dieksekusi sebagai parameter baris perintahnya sendiri.

Parameter

-serverServerTransport
Membuat server penelusuran kesalahan yang dapat diakses oleh debugger lain. Untuk penjelasan tentang kemungkinan nilai ServerTransport , lihat Mengaktifkan Server Debugging. Ketika parameter ini digunakan, parameter harus menjadi parameter pertama pada baris perintah.

-remoteClientTransport
Membuat klien penelusuran kesalahan, dan menyambungkan ke server debugging yang sudah berjalan. Untuk penjelasan tentang kemungkinan nilai ClientTransport , lihat Mengaktifkan Klien Debugging. Ketika parameter ini digunakan, parameter harus menjadi parameter pertama pada baris perintah.

-premoteSmartClientTransport
Membuat klien cerdas, dan menyambungkan ke server proses yang sudah berjalan. Untuk penjelasan tentang kemungkinan nilai SmartClientTransport , lihat Mengaktifkan Klien Cerdas.

-aExtension
Menyetel DLL ekstensi default. Defaultnya adalah kdextx86.dll atau kdexts.dll. Tidak boleh ada spasi setelah "a", dan ekstensi nama file .dll tidak boleh disertakan. Untuk detailnya, dan metode pengaturan default lainnya, lihat Memuat DLL Ekstensi Debugger.

-B
Opsi ini tidak lagi didukung.

-c "perintah"
Menentukan perintah debugger awal untuk dijalankan saat start-up. Perintah ini harus diapit dalam tanda kutip. Beberapa perintah dapat dipisahkan dengan titik koma. (Jika Anda memiliki daftar perintah yang panjang, mungkin lebih mudah untuk memasukkannya ke dalam skrip dan kemudian menggunakan opsi -c dengan perintah $<, $><, $><$>< (Jalankan File Skrip ).)

Jika Anda memulai klien penelusuran kesalahan, perintah ini harus ditujukan untuk server penelusuran kesalahan. Perintah khusus klien, seperti .lsrcpath, tidak diizinkan.

-baris clines
Mengatur perkiraan jumlah perintah dalam riwayat perintah yang dapat diakses selama penelusuran kesalahan jarak jauh. Untuk detailnya, dan untuk cara lain mengubah nomor ini, lihat Menggunakan Perintah Debugger.

-D
(Hanya mode kernel) Setelah boot ulang, debugger akan masuk ke komputer target segera setelah modul kernel dimuat. (Jeda ini lebih awal dari jeda dari opsi -b .) Lihat Crash dan Reboot Komputer Target untuk detail dan untuk metode lain mengubah status ini.

-ee {masm|c++}
Mengatur evaluator ekspresi default. Jika masm ditentukan, sintaks ekspresi MASM akan digunakan. Jika c++ ditentukan, sintaks ekspresi C++ akan digunakan. Jika opsi -ee dihilangkan, sintaks ekspresi MASM digunakan sebagai default. Lihat Mengevaluasi Ekspresi untuk detailnya.

-failinc
Menyebabkan debugger mengabaikan simbol yang dipertanyakan. Saat men-debug mode pengguna atau file minidump mode kernel, opsi ini juga akan mencegah debugger memuat modul apa pun yang gambarnya tidak dapat dipetakan. Untuk detail dan untuk metode lain dalam mengontrol ini, lihat SYMOPT_EXACT_SYMBOLS.

-G
(Mode pengguna saja) Mengabaikan titik henti awal dalam aplikasi target. Opsi ini akan menyebabkan aplikasi target terus berjalan setelah dimulai atau WinDbg melampirkannya, kecuali titik henti lain telah ditetapkan. Lihat Titik Henti Awal untuk detailnya.

-G
(Mode pengguna saja) Mengabaikan titik henti akhir saat penghentian proses. Biasanya, sesi penelusuran kesalahan berakhir selama proses run-down gambar. Opsi ini akan menyebabkan sesi penelusuran kesalahan segera berakhir ketika anak berakhir. Ini memiliki efek yang sama seperti memasukkan perintah sxd epr. Untuk informasi selengkapnya, lihat Mengontrol Pengecualian dan Peristiwa.

-Hd
(Mode pengguna saja) Menentukan bahwa timbunan debug tidak boleh digunakan.

-I[S]
Menginstal WinDbg sebagai debugger postmortem. Untuk detailnya, lihat Mengaktifkan Debugging Postmortem.

Setelah tindakan ini dicoba, pesan berhasil atau gagal ditampilkan. Jika S disertakan, prosedur ini dilakukan secara diam-diam jika berhasil; hanya pesan kegagalan yang ditampilkan.

Parameter -I tidak boleh digunakan dengan parameter lain. Perintah ini tidak akan benar-benar memulai WinDbg, meskipun jendela WinDbg mungkin muncul sejenak.

-IA[S]
Mengaitkan WinDbg dengan ekstensi file .dmp, .mdmp, dan .wew di registri. Setelah tindakan ini dicoba, pesan berhasil atau gagal ditampilkan. Jika S disertakan, prosedur ini dilakukan secara diam-diam jika berhasil; hanya pesan kegagalan yang ditampilkan. Setelah asosiasi ini dibuat, memilih dan menahan (atau mengklik kanan) file dengan salah satu ekstensi ini akan memulai WinDbg.

Parameter -IA tidak boleh digunakan dengan parameter lain. Perintah ini tidak akan benar-benar memulai WinDbg, meskipun jendela WinDbg mungkin muncul sejenak.

-IUKeyString
Mendaftarkan debugger jarak jauh sebagai jenis URL sehingga pengguna dapat meluncurkan klien jarak jauh debugger secara otomatis dengan URL. KeyString memiliki format remdbgeng://RemotingOption. RemotingOption adalah string yang mendefinisikan protokol transportasi seperti yang didefinisikan dalam topik Mengaktifkan Klien Debugging. Jika tindakan ini berhasil, tidak ada pesan yang ditampilkan; jika gagal, pesan kesalahan akan ditampilkan.

Parameter -IU tidak boleh digunakan dengan parameter lain. Meskipun jendela WinDbg mungkin muncul sejenak, perintah ini tidak akan benar-benar memulai WinDbg.

-iImagePath
Menentukan lokasi executable yang menghasilkan kesalahan. Jika jalur berisi spasi, jalur harus diapit dalam tanda kutip.

-J
Izinkan penjurralan.

-k [ConnectType]
(Hanya mode kernel) Memulai sesi penelusuran kesalahan kernel. Untuk detailnya, lihat Penelusuran Kesalahan Kernel-Mode Langsung Menggunakan WinDbg (Klasik). Jika -k digunakan tanpa opsi ConnectType yang mengikutinya, itu harus menjadi entri akhir pada baris perintah.

-Kl
(Hanya mode kernel) Memulai sesi penelusuran kesalahan kernel pada komputer yang sama dengan debugger.

-kxExdiOptions
(Hanya mode kernel) Memulai sesi penelusuran kesalahan kernel menggunakan driver EXDI. Untuk informasi selengkapnya tentang EXDI, lihat Mengonfigurasi Exdi Debugger Transport.

-log{o|a} LogFile
Mulai mencatat informasi ke file log. Jika file log yang ditentukan sudah ada, file log akan ditimpa jika -logo digunakan. Jika loga digunakan, output akan ditambahkan ke file. Untuk detail selengkapnya, lihat Menyimpan File Log di WinDbg.

-lsrcpath
Mengatur jalur sumber lokal untuk klien jarak jauh. Opsi ini harus mengikuti -remote pada baris perintah.

-N
Beban simbol berisik: Memungkinkan output verbose dari penangan simbol. Untuk detail dan untuk metode lain dalam mengontrol ini, lihat SYMOPT_DEBUG.

-noinh
(Mode pengguna saja) Mencegah proses yang dibuat oleh debugger agar tidak mewarisi handel dari debugger. Untuk metode lain untuk mengontrol ini, lihat Men-debug Proses User-Mode Menggunakan WinDbg.

-noprio
Mencegah perubahan prioritas apa pun. Parameter ini akan mencegah WinDbg mengambil prioritas untuk waktu CPU saat aktif.

-noshell
Melarang semua perintah .shell . Larangan ini akan berlangsung selama debugger berjalan, bahkan jika sesi penelusuran kesalahan baru dimulai. Untuk detailnya, dan untuk cara lain menonaktifkan perintah shell, lihat Menggunakan Perintah Shell.

-O
(Mode pengguna saja) Men-debug semua proses yang diluncurkan oleh aplikasi target (proses anak). Secara default, proses yang dibuat oleh proses yang Anda debugging akan berjalan seperti biasanya.

-openPrivateDumpByHandleHandle
Menentukan handel file crash dump yang akan di-debug.

-pPID
Menentukan ID proses desimal yang akan di-debug. Ini digunakan untuk men-debug proses yang sudah berjalan.

-Pb
(Mode pengguna saja) Mencegah debugger meminta pembobolan awal saat melampirkan ke proses target. Ini dapat berguna jika aplikasi sudah ditangguhkan, atau jika Anda ingin menghindari pembuatan utas jeda di target.

-Pd
(Mode pengguna saja) Menyebabkan aplikasi target tidak dihentikan di akhir sesi penelusuran kesalahan. Lihat Mengakhiri Sesi Debugging di WinDbg (Klasik) untuk detailnya.

-Pe
(Mode pengguna saja) Menunjukkan bahwa aplikasi target sudah di-debug. Lihat Melampirkan ulang ke Aplikasi Target untuk detailnya.

-pnName
Menentukan nama proses yang akan di-debug. (Nama ini harus unik.) Ini digunakan untuk men-debug proses yang sudah berjalan.

-Pr
(Mode pengguna saja) Menyebabkan debugger memulai proses target yang berjalan saat terpasang padanya. Ini dapat berguna jika aplikasi sudah ditangguhkan dan Anda ingin melanjutkan eksekusi.

-psnServiceName
Menentukan nama layanan yang terkandung dalam proses yang akan di-debug. Ini digunakan untuk men-debug proses yang sudah berjalan.

-ptDetik
Menentukan batas waktu istirahat, dalam detik. Defaultnya adalah 30. Lihat Mengontrol Target untuk detailnya.

-Pv
(Mode pengguna saja) Menentukan bahwa debugger harus dilampirkan ke proses target secara noninvasif. Untuk detailnya, lihat Penelusuran Kesalahan Noninvasif (Mode Pengguna).

-T
Menekan kotak dialog "Simpan Ruang Kerja?". Ruang kerja tidak disimpan secara otomatis. Lihat Menggunakan Ruang Kerja - WinDbg (Klasik) untuk detailnya.

-QS
Menekan kotak dialog "Muat Ulang Sumber?". File sumber tidak dimuat ulang secara otomatis.

-QSY
Menekan kotak dialog "Muat Ulang Sumber?" dan secara otomatis memuat ulang file sumber.

-QY
Menekan kotak dialog "Simpan Ruang Kerja?" dan menyimpan ruang kerja secara otomatis. Lihat Menggunakan Ruang Kerja - WinDbg (Klasik) untuk detailnya.

-robp
Ini memungkinkan CDB untuk mengatur titik henti pada halaman memori baca-saja. (Defaultnya adalah operasi seperti itu gagal.)

-sdce
Menyebabkan debugger menampilkan pesan kesalahan akses file selama pemuatan simbol. Untuk detail dan untuk metode lain dalam mengontrol ini, lihat SYMOPT_FAIL_CRITICAL_ERRORS.

-Aman
Mengaktifkan Mode Aman.

-Ses
Menyebabkan debugger melakukan evaluasi ketat dari semua file simbol dan mengabaikan simbol yang dipertanyakan. Untuk detail dan untuk metode lain dalam mengontrol ini, lihat SYMOPT_EXACT_SYMBOLS.

-sflags 0xNumber
Mengatur semua opsi handler simbol sekaligus. Angka harus berupa angka heksadesimal yang diawali dengan 0x -- desimal tanpa 0x diizinkan, tetapi opsi simbol adalah bendera biner dan oleh karena itu heksadesimal direkomendasikan. Opsi ini harus digunakan dengan hati-hati, karena akan mengambil alih semua default handler simbol. Untuk detailnya, lihat Mengatur Opsi Simbol.

-sicv
Menyebabkan handler simbol mengabaikan rekaman CV. Untuk detail dan untuk metode lain untuk mengontrol ini, lihat SYMOPT_IGNORE_CVREC.

-Dosa
Menyebabkan debugger mengabaikan jalur simbol dan variabel lingkungan jalur gambar yang dapat dieksekusi. Untuk detailnya, lihat SYMOPT_IGNORE_NT_SYMPATH.

-Snc
Menyebabkan debugger menonaktifkan terjemahan C++. Untuk detail dan untuk metode lain dalam mengontrol ini, lihat SYMOPT_NO_CPP.

-snul
Menonaktifkan pemuatan simbol otomatis untuk nama yang tidak memenuhi syarat. Untuk detail dan untuk metode lain dalam mengontrol ini, lihat SYMOPT_NO_UNQUALIFIED_LOADS.

-srcpathSourcePath
Menentukan jalur pencarian file sumber. Pisahkan beberapa jalur dengan titik koma (;). Jika jalur berisi spasi, jalur harus diapit dalam tanda kutip. Untuk detailnya, dan untuk cara lain mengubah jalur ini, lihat Jalur Sumber.

-sup
Menyebabkan penangan simbol mencari tabel simbol publik selama setiap pencarian simbol. Untuk detail dan untuk metode lain dalam mengontrol ini, lihat SYMOPT_AUTO_PUBLICS.

Judul -T
Mengatur judul jendela WinDbg.

-V
Mengaktifkan output verbose dari debugger.

-WRuang Kerja
Memuat ruang kerja bernama yang diberikan. Jika nama ruang kerja berisi spasi, sertakan dalam tanda kutip. Jika tidak ada ruang kerja nama ini, Anda akan diberi opsi untuk membuat ruang kerja baru dengan nama ini atau meninggalkan upaya pemuatan. Untuk detailnya, lihat Menggunakan Ruang Kerja - WinDbg (Klasik).

-WFFilename
Memuat ruang kerja dari file yang diberikan. Nama file harus menyertakan file dan ekstensi (biasanya .wew). Jika nama ruang kerja berisi spasi, sertakan dalam tanda kutip. Jika tidak ada file ruang kerja dengan nama ini, Anda akan diberi opsi untuk membuat file ruang kerja baru dengan nama ini atau meninggalkan upaya pemuatan. Untuk detailnya, lihat Menggunakan Ruang Kerja - WinDbg (Klasik).

-WX
Menonaktifkan pemuatan ruang kerja otomatis. Untuk detailnya, lihat Menggunakan Ruang Kerja - WinDbg (Klasik).

-ySymbolPath
Menentukan jalur pencarian simbol. Pisahkan beberapa jalur dengan titik koma (;). Jika jalur berisi spasi, jalur harus diapit dalam tanda kutip. Untuk detailnya, dan untuk cara lain mengubah jalur ini, lihat Jalur Simbol.

-zDumpFile
Menentukan nama file crash dump yang akan di-debug. Jika jalur dan nama file berisi spasi, ini harus dikelilingi oleh tanda kutip. Dimungkinkan untuk membuka beberapa file cadangan sekaligus dengan menyertakan beberapa opsi -z, masing-masing diikuti oleh nilai DumpFile yang berbeda. Untuk detailnya, lihat Menganalisis File Cadangan User-Mode atau Menganalisis File Cadangan Kernel-Mode dengan WinDbg.

-zpPageFile
Menentukan nama file halaman yang dimodifikasi. Ini berguna jika Anda men-debug file cadangan dan ingin menggunakan perintah .pagein (Page In Memory). Anda tidak dapat menggunakan -zp dengan file halaman Windows standar -- hanya file halaman yang dimodifikasi khusus yang dapat digunakan.

Eksekusi
Menentukan baris perintah dari proses yang dapat dieksekusi. Ini digunakan untuk meluncurkan proses baru dan men-debugnya. Ini harus menjadi item akhir pada baris perintah. Semua teks setelah nama yang dapat dieksekusi diteruskan ke executable sebagai string argumennya. Untuk detailnya, lihat Men-debug Proses User-Mode Menggunakan WinDbg.

-?
Munculkan jendela Bantuan HTML ini.

Saat Anda menjalankan debugger dari baris perintah, tentukan argumen untuk aplikasi target setelah nama file aplikasi. Contohnya:

windbg myexe arg1 arg2