Penelusuran Kesalahan AML Dasar

Debugger AMLI mendukung dua jenis perintah khusus: ekstensi AMLI Debugger dan perintah AMLI Debugger.

Saat Anda melakukan penelusuran kesalahan AML, Anda harus dengan hati-hati membedakan antara dua jenis permintaan berbeda yang akan muncul di jendela Perintah Debugger:

  • Saat Anda melihat perintah kd> , Anda mengontrol debugger kernel. Semua perintah dan ekstensi debugger kernel standar tersedia. Selain itu, ekstensi AMLI Debugger juga tersedia. Ekstensi ini memiliki sintaks perintah!amli. Perintah AMLI Debugger tidak tersedia dalam mode ini.

  • Ketika Anda melihat prompt AMLI(? untuk bantuan)->, Anda mengontrol Debugger AMLI. (Saat Anda menggunakan WinDbg, perintah ini akan muncul di panel atas jendela Perintah Debugger, dan perintah Input> akan muncul di panel bawah.) Dari prompt ini, Anda dapat memasukkan perintah AMLI Debugger apa pun. Anda juga dapat memasukkan ekstensi AMLI Debugger apa pun; ekstensi ini tidak boleh diawali dengan !amli. Perintah debugging kernel standar tidak tersedia dalam mode ini.

  • Ketika Anda tidak melihat perintah sama sekali, komputer target sedang berjalan.

Di awal sesi debugging apa pun, Anda harus mengatur opsi AMLI Debugger Anda dengan ekstensi set !amli . Opsi verboseon, traceon, dan errbrkon juga sangat berguna. Anda harus mempertimbangkan untuk mengaktifkan opsi spewon . Lihat halaman referensi ekstensi untuk detailnya.

Ada beberapa cara agar AMLI Debugger menjadi aktif:

  • Jika titik henti dalam kode AML ditemukan, ACPI akan masuk ke AMLI Debugger.

  • Jika kesalahan atau pengecualian serius terjadi dalam kode AML (seperti int 3), ACPI akan masuk ke AMLI Debugger.

  • Jika opsi errbrkon telah diatur, kesalahan AML apa pun akan menyebabkan ACPI masuk ke AMLI Debugger.

  • Jika Anda ingin sengaja masuk ke AMLI Debugger, gunakan ekstensi debugger !amli lalu perintah g (Go). Lain kali setiap kode AML dijalankan oleh penerjemah, AMLI Debugger akan mengambil alih.

Saat Anda berada di perintah AMLI Debugger, Anda dapat mengetik q untuk kembali ke debugger kernel, atau ketik g untuk melanjutkan eksekusi normal.

Ekstensi berikut sangat berguna untuk penelusuran kesalahan AML:

  • Ekstensi !amli dns menampilkan namespace ACPI untuk objek tertentu, pohon namespace yang merupakan bagian dari objek tersebut, atau bahkan seluruh pohon namespace. Perintah ini sangat berguna dalam menentukan apa itu objek namespace tertentu -- baik itu metode, fieldunit, perangkat, atau jenis objek lain.

  • Ekstensi !amli find mengambil nama objek namespace apa pun dan mengembalikan jalur lengkapnya.

  • Ekstensi !amli u tidak menyusun kode AML.

  • Ekstensi lc !amli menampilkan informasi singkat tentang semua konteks ACPI aktif.

  • Ekstensi !amli r menampilkan informasi terperinci tentang konteks interpreter saat ini. Ini berguna ketika perintah AMLI Debugger muncul setelah kesalahan terdeteksi.

  • Titik henti dapat diatur dan dikontrol dalam kode AML. Gunakan !amli bp untuk mengatur titik henti, !amli bc untuk menghapus titik henti, !amli bd untuk menonaktifkan titik henti, !amli adalah mengaktifkan kembali titik henti, dan !amli bl untuk mencantumkan semua titik henti.

  • AMLI Debugger dapat menjalankan, melangkah, dan melacak melalui kode AML. Gunakan perintah jalankan, p, dan t untuk melakukan tindakan ini.

Untuk daftar lengkap ekstensi dan perintah, lihat Menggunakan Ekstensi Debugger AMLI dan Menggunakan Perintah Debugger AMLI.

Lihat Juga

The AMLI Debugger