Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Saat Anda menulis plug-in ekstensi analisis, Anda juga menulis file metadata yang menjelaskan situasi di mana Anda ingin plug-in Anda dipanggil. Ketika perintah !analyze debugger berjalan, perintah ini menggunakan file metadata untuk menentukan plug-in mana yang akan dimuat.
Buat file metadata dengan nama yang sama dengan plug-in ekstensi analisis Anda dan berformat .alz. Misalnya, jika plug-in ekstensi analisis Anda diberi nama MyAnalyzer.dll, file metadata Anda harus bernama MyAnalyzer.alz. Tempatkan file metadata di direktori yang sama dengan plug-in ekstensi analisis Anda.
File metadata untuk plug-in ekstensi analisis adalah file teks ASCII yang berisi pasangan kunci-nilai. Kunci dan nilai dipisahkan oleh spasi kosong. Kunci dapat memiliki karakter non-spasi kosong. Kunci tidak membedakan huruf besar dan kecil.
Setelah kunci dan spasi kosong berikut, nilai yang sesuai dimulai. Nilai dapat memiliki salah satu formulir berikut.
Sekumpulan karakter apa saja hingga akhir baris. Formulir ini berfungsi untuk nilai yang tidak berisi karakter baris baru.
Penting Jika nilai terakhir dalam file metadata memiliki bentuk seperti ini, baris harus berakhir dengan karakter baris baru.
Sekumpulan karakter di antara kurung kurawal { }. Formulir berfungsi untuk nilai-nilai yang berisi karakter baris baru.
Baris yang dimulai dengan # adalah komentar dan diabaikan. Komentar hanya dapat dimulai di mana kunci diharapkan.
Anda dapat menggunakan kunci berikut dalam file metadata.
| Kunci | Deskripsi |
|---|---|
| PluginId | String - Mengidentifikasi plug-in. |
| DebuggeeClass | String - Nilai yang mungkin adalah "Kernel" dan "Pengguna". Menunjukkan bahwa plug-in hanya tertarik untuk menganalisis kegagalan mode kernel atau hanya kegagalan mode pengguna. |
| BugCheckCode | Kode pemeriksaan bug 32-bit - Menunjukkan bahwa plug-in tertarik untuk menganalisis kode pemeriksaan bug ini. Satu file metadata dapat menentukan beberapa kode pemeriksaan bug. |
| ExceptionCode | Kode pengecualian 32-bit - Menunjukkan bahwa plug-in tertarik untuk menganalisis kode pengecualian ini. Satu file metadata dapat menentukan beberapa kode pengecualian. |
| ExecutableName | String - Menunjukkan bahwa plug-in hanya tertarik pada sesi di mana ini adalah eksekusi berjalan dari proses yang akan dianalisis. Satu file metadata dapat menentukan beberapa nama yang dapat dieksekusi. |
| Nama Gambar | String - Menunjukkan bahwa plug-in hanya tertarik pada sesi di mana analisis default menganggap gambar ini (dll, sys, atau exe) sebagai penyebab kesalahan. Plug-in dipanggil setelah analisis menentukan gambar mana yang salah. Satu file metadata dapat menentukan beberapa nama gambar. |
| MaxTagCount | Bilangan bulat - Jumlah maksimum tag kustom yang dibutuhkan plug-in. Tag kustom adalah tag selain yang ditentukan dalam extsfns.h. |
Contoh File Metadata
File metadata berikut menjelaskan plug-in yang tertarik untuk menganalisis kode pemeriksaan bug 0xE2. Ingat bahwa baris terakhir harus diberi akhiran dengan karakter baris baru.
PluginId MyPlugin
DebuggeeClass Kernel
BugCheckCode 0xE2
File metadata berikut menjelaskan plug-in yang didesain untuk menganalisis pemeriksaan kesalahan 0x8, 0x9, dan 0xA jika MyDriver.sys dianggap sebagai modul yang dianggap bersalah.
PluginId MyPlugin
DebuggeeClass Kernel
BugCheckCode 0x8
BugCheckCode 0x9
BugCheckCode 0xA
ImageName MyDriver.sys
File metadata berikut menjelaskan plug-in yang tertarik untuk menganalisis kode pengecualian 0xC0000005 jika MyApp.exe adalah proses yang dapat dijalankan yang sedang dianalisis. Selain itu, plugin tersebut mungkin membuat hingga tiga tag kustom.
PluginId MyPlugin
DebuggeeClass User
ExceptionCode 0xC0000005
ExecutableName MyApp.exe
Alat Debugging untuk Windows memiliki contoh yang bisa Anda gunakan untuk membuat modul ekstensi debugger bernama dbgexts.dll. Modul ekstensi ini menerapkan beberapa perintah ekstensi debugger, tetapi juga dapat berfungsi sebagai plug-in ekstensi analisis; yaitu, mengekspor fungsi _EFN_Analyze . Berikut adalah file metadata yang menjelaskan dbgexts.dll sebagai plug-in ekstensi analisis.
PluginId PluginSample
DebuggeeClass User
ExceptionCode 0xc0000005
ExecutableName cdb.exe
ExecutableName windbg.exe
#
# Custom tag descriptions
#
TagDesc 0xA0000000 SAMPLE_PLUGIN_DEBUG_TEXT {Sample debug help text from plug-in analysis}
#