Bagikan melalui


Menggunakan Debugger Markup Language

Perintah Debugger dapat menyediakan output dalam teks biasa atau dalam format yang ditingkatkan yang menggunakan Debugger Markup Language (DML). Output yang ditingkatkan dengan DML menyertakan tautan yang dapat Anda klik untuk menjalankan perintah terkait.

DML tersedia di Windows 10 dan yang lebih baru.

Perintah yang Mendukung DML

Perintah berikut mampu menghasilkan output DML:

Perintah lmD adalah contoh perintah yang mampu menyediakan output DML. Perintah lmD menampilkan daftar modul yang dimuat. Seperti yang ditunjukkan gambar berikut, setiap nama modul adalah tautan yang dapat Anda klik untuk mendapatkan informasi lebih rinci tentang modul.

Cuplikan layar output perintah lmD di debugger.

Gambar berikut menunjukkan hasil mengklik tautan usbuhci . Output mencakup tautan tambahan yang memungkinkan Anda mempelajari lebih dalam mengenai modul usbuhci.

Cuplikan layar detail modul usbuhci di debugger.

Mengaktifkan dan Menonaktifkan DML

Perintah .prefer_dml mengaktifkan atau menonaktifkan DML. Ketika DML diaktifkan (.prefer_dml 1), perintah yang mampu menghasilkan output DML akan menghasilkan output DML secara default.

Peningkatan Konsol

Semua debugger Windows sekarang memiliki area output perintah yang mendukung penguraian DML. Di windbg, jendela perintah mendukung semua perilaku DML dan akan menampilkan warna, gaya font, dan tautan. Debugger konsol seperti ntsd, cdb, dan kd, hanya mendukung atribut warna DML dan hanya melakukannya saat berjalan di konsol asli dengan mode warna diaktifkan. Debugger dengan I/O yang dialihkan, sesi ntsd -d atau remote.exe tidak akan menampilkan warna apa pun.

Mode Warna Debugger Konsol

Debugger konsol, ntsd, cdb, dan kd sekarang memiliki kemampuan untuk menampilkan output berwarna saat berjalan di konsol sejati. Ini bukan default, ini memerlukan mode warna untuk diaktifkan secara eksplisit melalui tools.ini. Token col_mode <true|false> yang baru di tools.ini mengontrol pengaturan mode warna. Untuk informasi selengkapnya tentang bekerja dengan file tools.ini, lihat Mengonfigurasi tools.ini

Ketika mode warna diaktifkan, debugger dapat menghasilkan output berwarna. Secara default sebagian besar warna tidak diatur dan sebaliknya default ke warna konsol saat ini.

Jendela Browser Perintah Windbg

Pada Windows 10 dan versi berikutnya, jendela browser perintah WinDbg mengurai dan menampilkan DML. Semua tag seperti <tautan>, exec>, <dan modifikasi tampilan, didukung sepenuhnya.

Untuk memulai sesi browser perintah menggunakan menu di WinDbg, pilih Tampilkan, Browser Perintah. Perintah> .browse <di jendela perintah akan membuka jendela browser perintah baru dan menjalankan perintah yang diberikan. Untuk informasi selengkapnya, lihat Menggunakan Jendela Browser Perintah di WinDbg (Klasik). Jendela browser perintah baru juga dapat dibuka dengan Ctrl+N.

Jendela browser perintah sengaja meniru perilaku browser web, dengan riwayat drop-down dan tombol sebelumnya/berikutnya. Drop-down riwayat hanya menampilkan dua puluh perintah terakhir tetapi riwayat lengkap disimpan sehingga dengan kembali dalam perintah Anda bisa mendapatkan drop-down untuk menampilkan riwayat yang lebih lama.

Anda dapat membuka jendela perintah sebanyak yang Anda inginkan. Jendela perintah bertahan di ruang kerja tetapi hanya menyimpan perintah saat ini; riwayat tidak disimpan.

Menu Tampilan WinDbg memiliki opsi Atur Perintah Mulai Browser yang memungkinkan pengguna mengatur perintah pilihan untuk memulai jendela browser baru, seperti .dml_start. Perintah ini disimpan di ruang kerja.

Sub-jendela Perintah Terbaru tersedia di menu Tampilan untuk menahan perintah yang menarik. Memilih perintah terbaru akan membuka browser baru dengan perintah yang diberikan. Ada item menu pada menu konteks jendela browser yang menambahkan perintah jendela saat ini ke daftar perintah terbaru. Daftar perintah terbaru dipertahankan di ruang kerja.

Jendela browser perintah menjalankan perintah secara sinkron sehingga tidak menampilkan output hingga perintah selesai. Perintah jangka panjang tidak akan menampilkan apa pun sampai selesai.

Tautan memiliki menu konteks klik kanan yang mirip dengan menu konteks klik kanan di browser web. Tautan dapat dibuka di jendela browser baru. Perintah tautan dapat disalin ke clipboard untuk digunakan.

Mengklik ikon di dekat sudut kanan atas bilah judul untuk mengatur jendela browser perintah ke refresh otomatis atau refresh manual. Browser refresh otomatis akan secara otomatis menjalankan kembali perintahnya pada perubahan status debugger. Ini menjaga output tetap aktif tetapi dengan biaya menjalankan perintah pada semua perubahan. Refresh otomatis aktif secara default. Jika browser tidak perlu aktif, maka menu konteks jendela dapat digunakan untuk menonaktifkan refresh otomatis.

Karena perintah dijalankan oleh mesin, bukan oleh antarmuka pengguna, perintah khusus antarmuka pengguna, seperti .cls (Clear Screen), akan mengembalikan kesalahan sintaks saat digunakan di jendela browser perintah. Ini juga berarti bahwa ketika antarmuka pengguna adalah klien jarak jauh, perintah akan dijalankan oleh server, bukan oleh klien, dan output perintah akan menampilkan status server.

Jendela browser perintah dapat menjalankan perintah debugger apa pun, itu tidak harus menjadi perintah yang menghasilkan DML. Anda dapat menggunakan jendela browser agar sekumpulan perintah arbitrer aktif untuk digunakan.

Menyesuaikan DML

DML mendefinisikan sekumpulan tag kecil yang dapat disertakan dalam output perintah. Salah satu contohnya adalah tag <tautan>. Anda dapat bereksperimen dengan <tag tautan> (dan tag DML lainnya) dengan menggunakan perintah .dml_start dan .browse . Perintah .browse .dml_startfilepath menjalankan perintah yang disimpan dalam file DML. Output ditampilkan di jendela Browser Perintah alih-alih jendela perintah reguler.

Misalkan file c:\DmlExperiment.txt berisi baris berikut.

My DML Experiment
<link cmd="lmD musb*">List modules that begin with usb.</link>

Perintah berikut menampilkan teks dan tautan di jendela Browser Perintah.

.browse .dml_start c:\Dml_Experiment.txt

Cuplikan layar output file DML di jendela Browser Perintah.

Jika Anda mengklik daftar modul yang dimulai dengan tautan usb , Anda akan melihat output yang mirip dengan gambar berikut.

Cuplikan layar daftar modul setelah mengklik tautan dalam output file DML.

Untuk diskusi menyeluruh tentang kustomisasi DML dan daftar lengkap tag DML, lihat Menyesuaikan Output Debugger Menggunakan DML.