Menyiapkan Debugging Mode Kernel melalui Kabel USB 2.0 Secara Manual
Alat Penelusuran Kesalahan untuk Windows mendukung penelusuran kesalahan kernel melalui kabel USB 2.0. Topik ini menjelaskan cara menyiapkan penelusuran kesalahan USB 2.0 secara manual.
Komputer yang menjalankan debugger disebut komputer host, dan komputer yang sedang di-debug disebut komputer target.
Penelusuran kesalahan melalui kabel USB 2.0 memerlukan perangkat keras berikut:
Kabel debug USB 2.0. Kabel ini bukan kabel USB 2.0 standar karena memiliki komponen perangkat keras tambahan yang membuatnya kompatibel dengan Spesifikasi Fungsional Perangkat Debug USB2. Anda dapat menemukan kabel ini dengan pencarian Internet untuk istilah kabel debug USB 2.0.
Pada komputer host, pengontrol host EHCI (USB 2.0)
Pada komputer target, pengontrol host EHCI (USB 2.0) yang mendukung penelusuran kesalahan
Untuk menyederhanakan pemecahan masalah, sambungkan kabel langsung antara target dan komputer host, menghindari hub atau stasiun docking apa pun.
Menyiapkan Komputer Target
Pada komputer target, luncurkan alat UsbView. Alat UsbView disertakan dalam Alat Penelusuran Kesalahan untuk Windows.
Di UsbView, temukan semua pengontrol host yang kompatibel dengan spesifikasi EHCI. Misalnya, Anda dapat mencari pengontrol yang terdaftar sebagai Ditingkatkan.
Di UsbView, perluas simpul pengontrol host EHCI. Cari indikasi bahwa pengontrol host mendukung penelusuran kesalahan, dan cari jumlah port debug. Misalnya, UsbView menampilkan output ini untuk pengontrol host EHCI yang mendukung penelusuran kesalahan pada port 1.
Xxx xxx xxx USB2 Enhanced Host Controller - 293A ... Debug Port Number: 1 Bus.Device.Function (in decimal): 0.29.7
Perhatikan Banyak pengontrol host EHCI mendukung penelusuran kesalahan pada port 1, tetapi beberapa pengontrol host EHCI mendukung penelusuran kesalahan pada port 2.
Catat nomor bus, perangkat, dan fungsi untuk pengontrol EHCI yang ingin Anda gunakan untuk penelusuran kesalahan. UsbView menampilkan nomor ini. Dalam contoh sebelumnya, nomor bus adalah 0, nomor perangkat adalah 29, dan nomor fungsi adalah 7.
Setelah Anda mengidentifikasi pengontrol EHCI dan nomor port yang mendukung penelusuran kesalahan, langkah selanjutnya adalah menemukan konektor USB fisik yang terkait dengan nomor port yang benar. Untuk menemukan konektor fisik, colokkan perangkat USB 2.0 apa pun ke konektor USB apa pun di komputer target. Refresh UsbView untuk melihat lokasi perangkat Anda. Jika UsbView menunjukkan perangkat Anda terhubung ke pengontrol host EHCI dan port yang Anda identifikasi sebagai port debug, maka Anda telah menemukan konektor USB fisik yang dapat Anda gunakan untuk penelusuran kesalahan. Bisa jadi tidak ada konektor USB fisik eksternal yang terkait dengan port debug pada pengontrol EHCI. Dalam hal ini, Anda dapat mencari konektor USB fisik di dalam komputer. Lakukan langkah yang sama untuk menentukan apakah konektor USB internal cocok untuk penelusuran kesalahan kernel. Jika Anda tidak dapat menemukan konektor USB fisik (eksternal atau internal) yang terkait dengan port debug, maka Anda tidak dapat menggunakan komputer sebagai target untuk penelusuran kesalahan melalui kabel USB 2.0.
Catatan Lihat komentar ini untuk pengecualian.
Penting
Sebelum menggunakan bcdedit untuk mengubah informasi boot, Anda mungkin perlu menangguhkan sementara fitur keamanan Windows seperti BitLocker dan Secure Boot pada PC pengujian. Anda dapat mengaktifkan kembali Boot Aman setelah selesai menelusuri kesalahan dan menonaktifkan penelusuran kesalahan kernel.
Pada komputer target, buka jendela Prompt Perintah sebagai Administrator, dan masukkan perintah ini:
- bcdedit /debug aktif
- bcdedit /dbgsettings usb targetname:TargetName
di mana TargetName adalah nama yang Anda buat untuk komputer target. Perhatikan bahwa TargetName tidak harus menjadi nama resmi komputer target; itu bisa menjadi string apa pun yang Anda buat selama memenuhi batasan ini:
- String tidak boleh berisi "debug" di mana pun di TargetName dalam kombinasi huruf besar atau kecil apa pun. Misalnya jika Anda menggunakan "DeBuG" atau "DEBUG" di mana saja di nama target Anda, penelusuran kesalahan tidak akan berfungsi dengan benar.
- Satu-satunya karakter dalam string adalah tanda hubung (-), garis bawah(_), digit 0 hingga 9, dan huruf A hingga Z (huruf besar atau kecil).
- Panjang maksimum string adalah 24 karakter.
Di Device Manager, temukan Pengontrol USB yang ingin Anda gunakan untuk penelusuran kesalahan. Di bawah Lokasi pada tab Umum , bus, perangkat, dan nomor fungsi ditampilkan. Masukkan perintah ini:
bcdedit /set "{dbgsettings}" busparams b.d.f
di mana b, d, dan f adalah nomor bus, perangkat, dan fungsi untuk pengontrol host. Nomor bus, perangkat, dan fungsi harus dalam format desimal (misalnya, busparams 0.29.7).
- Reboot komputer target.
Menyiapkan Komputer Host
- Verifikasi bahwa komputer host tidak dikonfigurasi untuk menjadi target penelusuran kesalahan USB. (Jika perlu, buka jendela Prompt Perintah sebagai Administrator, masukkan bcdedit /debug off, dan boot ulang.)
- Di komputer host, gunakan UsbView untuk menemukan pengontrol host EHCI dan port yang mendukung penelusuran kesalahan. Jika memungkinkan, colokkan salah satu ujung kabel debug USB 2.0 ke port EHCI (pada komputer host) yang tidak mendukung penelusuran kesalahan. Jika tidak, colokkan kabel ke port EHCI apa pun di komputer host.
- Colokkan ujung lain kabel debug USB 2.0 ke konektor yang Anda identifikasi sebelumnya di komputer target.
Memulai Sesi Debugging untuk Pertama Kalinya
- Tentukan bitness (32-bit atau 64-bit) Windows yang berjalan pada komputer host.
- Pada komputer host, buka versi WinDbg (sebagai Administrator) yang cocok dengan bitness Windows yang berjalan pada komputer host. Misalnya, jika komputer host menjalankan Windows versi 64-bit, buka WinDbg versi 64-bit sebagai Administrator.
- Pada menu File , pilih Debug Kernel. Dalam kotak dialog Penelusuran Kesalahan Kernel, buka tab USB . Masukkan nama target yang Anda buat saat menyiapkan komputer target. Klik OK.
Pada titik ini, driver debug USB diinstal pada komputer host. Inilah sebabnya mengapa penting untuk mencocokkan bitness WinDbg dengan bitness Windows. Setelah driver debug USB diinstal, Anda dapat menggunakan WinDbg versi 32-bit atau 64-bit untuk sesi debugging berikutnya.
Perhatikan kabel debug USB 2.0 sebenarnya adalah dua kabel dengan dongle di tengah. Arah dongle itu penting; satu sisi mendukung perangkat, dan sisi lain tidak. Jika penelusuran kesalahan USB tidak berfungsi, coba tukar arah dongle. Artinya, cabut kedua kabel dari dongle, dan tukar sisi yang tersambung dengan kabel.
Memulai Sesi Penelusuran Kesalahan
Menggunakan WinDbg
Di komputer host, buka WinDbg. Pada menu File , pilih Debug Kernel. Dalam kotak dialog Penelusuran Kesalahan Kernel, buka tab USB . Masukkan nama target yang Anda buat saat menyiapkan komputer target. Klik OK.
Anda juga dapat memulai sesi dengan WinDbg dengan memasukkan perintah berikut di jendela Prompt Perintah, di mana TargetName adalah nama target yang Anda buat saat menyiapkan komputer target:
windbg /k usb:targetname=TargetName
Menggunakan KD
Di komputer host, buka jendela Prompt Perintah dan masukkan perintah berikut, di mana TargetName adalah nama target yang Anda buat saat menyiapkan komputer target:
kd /k usb:targetname=TargetName
Bagaimana jika USBView menunjukkan port berkemampukan debug, tetapi tidak menampilkan port yang dipetakan ke konektor fisik apa pun?
Di beberapa komputer, USBView menunjukkan port berkemampu debug, tetapi tidak menampilkan port yang dipetakan ke konektor USB fisik apa pun. Misalnya, USBView mungkin menampilkan port 2 sebagai nomor port debug untuk pengontrol eHCI.
... USB Enhanced Host Controller ...
...
Debug Port Number: 2
Bus.Device.Function (in decimal): 0.29.0
Selain itu, ketika Anda menggunakan USBView untuk melihat port individual, itu terdaftar sebagai berkemampukan debug.
[Port 2]
Is Port User Connectable: Yes
Is Port Debug Capable: Yes
...
Protocols Supported
USB 1.1 yes
USB 2.0 yes
USB 3.0 no
Tetapi ketika Anda mencolokkan perangkat USB 2.0 (seperti flash drive) ke semua konektor USB di komputer, USBView tidak pernah menampilkan perangkat Anda yang terhubung ke port berkemampuan debug (port 2 dalam contoh ini). USBView mungkin menunjukkan konektor eksternal yang dipetakan ke port pengontrol xHCI ketika sebenarnya konektor eksternal dipetakan ke port pengontrol eHCI berkemampuan debug.
Dalam kasus seperti ini, Anda mungkin masih dapat membuat debugging mode kernel melalui kabel USB 2.0. Dalam contoh yang diberikan di sini, Anda akan menyambungkan kabel debug USB 2.0 Anda ke konektor yang ditampilkan sebagai dipetakan ke Port 2 pengontrol xHCI. Kemudian Anda akan mengatur parameter bus Anda ke bus, perangkat, dan nomor fungsi pengontrol eHCI (dalam contoh ini, 0.29.0).
bcdedit /set "{dbgsettings}" busparams 0.29.0
Dukungan Tambahan
Untuk tips pemecahan masalah dan informasi lainnya, lihat Blog USB Microsoft.