Bagikan melalui


Debugging Mode Kernel Langsung Menggunakan KD

Di jendela Prompt Perintah, Anda dapat memulai sesi debugging mode kernel langsung saat meluncurkan KD. Masukkan salah satu perintah berikut.

kd [-y SymbolPath] -k net:port=PortNumber,key=Key[,target=TargetIPAddress|TargetHostName]

kd [-y SymbolPath] -k 1394:channel=1394Channel[,symlink=1394Protocol]

kd [-y SymbolPath] -k usb:targetname=USBString

kd [-y SymbolPath] -k com:port=ComPort,baud=BaudRate

kd [-y SymbolPath] -k com:ipport=SerialTcpIpPort,port=SerialIPAddress

kd [-y SymbolPath] -k com:pipe,port=\VMHost\pipe\PipeName[,resets=0][,reconnect]

kd [-y SymbolPath] -k com:modem

kd [-y SymbolPath] -kl

kd [-y SymbolPath] -k

Untuk informasi selengkapnya, lihat Opsi Baris Perintah KD.

Variabel Lingkungan

Untuk penelusuran kesalahan melalui serial (port COM) atau koneksi 1394, Anda dapat menggunakan variabel lingkungan untuk menentukan pengaturan koneksi.

Gunakan variabel berikut untuk menentukan koneksi serial.

set _NT_DEBUG_PORT = ComPort

set _NT_DEBUG_BAUD_RATE = BaudRate

Gunakan variabel berikut untuk menentukan koneksi 1394.

set _NT_DEBUG_BUS = 1394

set _NT_DEBUG_1394_CHANNEL = 1394Channel

set _NT_DEBUG_1394_SYMLINK = 1394Protocol

Untuk informasi selengkapnya, lihat Variabel Lingkungan Mode Kernel.

Parameter

SymbolPath
Daftar direktori tempat file simbol berada. Direktori dalam daftar dipisahkan oleh titik koma. Untuk informasi selengkapnya, lihat Jalur Simbol.

PortNumber
Nomor port yang digunakan untuk penelusuran kesalahan jaringan. Anda dapat memilih nomor apa pun dari 49152 hingga 65535. Untuk informasi selengkapnya, lihat Menyiapkan Koneksi Jaringan Secara Manual.

Kunci
Kunci enkripsi yang digunakan untuk penelusuran kesalahan jaringan. Kami menyarankan agar Anda menggunakan kunci yang dihasilkan secara otomatis, yang disediakan oleh bcdedit saat Anda mengonfigurasi komputer target. Untuk informasi selengkapnya, lihat Menyiapkan Koneksi Jaringan Secara Manual.

TargetIPAddress
Alamat IPv4 dari komputer target.

Ketika target= alamat IP ditentukan, ini menyebabkan debugger memulai koneksi ke komputer target yang ditentukan, dengan mengirim paket khusus ke target, yang akan menyebabkannya mencoba terhubung dengan debugger tersebut. Debugger akan mengirim paket ke target berulang kali sekitar setiap setengah detik, mencoba untuk terhubung. Jika koneksi berhasil, target akan menghilangkan koneksi yang ada, dan berkomunikasi hanya dengan instans debugger ini. Ini memungkinkan Anda mengontrol sesi penelusuran kesalahan dari koneksi penelusuran kesalahan yang ada.

Ketika target dikonfigurasi dengan alamat IP host, dan debugger sedang dijalankan pada komputer dengan alamat IP host yang dikonfigurasi, tidak perlu menentukan parameter target= alamat IP. Ketika target dikonfigurasi dengan alamat IP host, target akan mengirim paket OFFER ke host setiap tiga detik. Paket OFFER memungkinkan debugger untuk terhubung ke host ketika tidak ada target= alamat IP yang ditentukan.

Untuk informasi selengkapnya tentang mengonfigurasi alamat IP host pada target, lihat Menyiapkan Penelusuran Kesalahan Kernel Jaringan KDNET Secara Otomatis dan Menyiapkan Debugging Kernel Jaringan KDNET Secara Manual.

TargetMachineName
Nama komputer PC target. Untuk menggunakan nama komputer, sistem DNS pada jaringan harus memiliki nama mesin yang terkait dengan alamat IP PC target.

1394Channel
Nomor saluran 1394. Nomor saluran yang valid adalah bilangan bulat antara 0 dan 62, inklusif. 1394Channel harus cocok dengan nomor yang digunakan oleh komputer target, tetapi tidak bergantung pada port fisik 1394 yang dipilih pada adaptor. Untuk informasi selengkapnya, lihat Menyiapkan Koneksi 1394 Secara Manual.

1394Protocol
Protokol koneksi yang akan digunakan untuk koneksi kernel 1394. Ini hampir selalu dapat dihilangkan, karena debugger akan secara otomatis memilih protokol yang benar. Jika Anda ingin mengatur ini secara manual, dan komputer target menjalankan Windows XP, 1394Protocol harus diatur sama dengan "saluran". Jika komputer target menjalankan Windows Server 2003 atau yang lebih baru, 1394Protocol harus diatur sama dengan "instans". Jika dihilangkan, debugger akan default ke protokol yang sesuai untuk komputer target saat ini. Ini hanya dapat ditentukan melalui baris perintah atau variabel lingkungan, bukan melalui antarmuka grafis WinDbg.

USBString
STRING KONEKSI USB. Ini harus cocok dengan string yang ditentukan dengan opsi boot /targetname. Untuk informasi selengkapnya, lihat Menyiapkan Koneksi USB 3.0 Secara Manual dan Menyiapkan Koneksi USB 2.0 Secara Manual.

ComPort
Nama port COM. Ini bisa dalam format "com2" atau dalam format "\\.\com2", tetapi seharusnya bukan sekadar angka. Untuk informasi selengkapnya, lihat Menyiapkan Koneksi Serial Secara Manual.

BaudRate
Laju baud. Ini bisa 9600, 19200, 38400, 57600, atau 115200.

VMHost
Saat men-debug komputer virtual, VMHost menentukan nama komputer fisik tempat komputer virtual berjalan. Jika komputer virtual berjalan pada komputer yang sama dengan debugger kernel itu sendiri, gunakan satu periode (.) untuk VMHost. Untuk informasi selengkapnya, lihat Menyiapkan Koneksi ke Komputer Virtual.

PipeName
Nama pipa yang dibuat oleh komputer virtual untuk koneksi penelusuran kesalahan.

resets=0
Menentukan bahwa jumlah paket reset yang tidak terbatas dapat dikirim ke target saat host dan target disinkronkan. Parameter ini hanya diperlukan saat men-debug jenis komputer virtual tertentu.

sambungkan kembali
Menyebabkan debugger secara otomatis memutuskan sambungan dan menyambungkan kembali pipa jika kegagalan baca/tulis terjadi. Selain itu, jika pipa bernama tidak ditemukan ketika debugger dimulai, parameter koneksi ulang akan menyebabkannya menunggu pipa nama ini muncul. Parameter ini hanya diperlukan saat men-debug jenis komputer virtual tertentu.

-Kl
Menyebabkan debugger melakukan penelusuran kesalahan mode kernel lokal. Untuk informasi selengkapnya, lihat Penelusuran Kesalahan Mode Kernel Lokal.

SerialTcpIpPort
Port IP TCP target dari port COM serial yang ditiru.

SerialIPAddress
Alamat IP TCP target dari port COM serial yang ditiru.

Contoh

File batch berikut dapat digunakan untuk menyiapkan dan memulai sesi penelusuran kesalahan melalui koneksi port COM.

set _NT_SYMBOL_PATH=d:\mysymbols
set _NT_DEBUG_PORT=com1
set _NT_DEBUG_BAUD_RATE=115200
set _NT_DEBUG_LOG_FILE_OPEN=d:\debuggers\logfile1.log
kd

File batch berikut dapat digunakan untuk menyiapkan dan memulai sesi penelusuran kesalahan melalui koneksi 1394.

set _NT_SYMBOL_PATH=d:\mysymbols
set _NT_DEBUG_BUS=1394
set _NT_DEBUG_1394_CHANNEL=44
set _NT_DEBUG_LOG_FILE_OPEN=d:\debuggers\logfile1.log
kd

Baris perintah berikut dapat digunakan untuk memulai WinDbg tanpa variabel lingkungan apa pun.

kd -y d:\mysymbols -k com:port=com2,baud=57600

kd -y d:\mysymbols -k com:port=\\.\com2,baud=115200

kd -y d:\mysymbols -k 1394:channel=20,symlink=instance

kd -y d:\mysymbols -k net:port=50000,key=AutoGeneratedKey