Bagikan melalui


Gambaran Umum API Ekstensi WdbgExts

Setiap DLL ekstensi WdbgExts mengekspor satu atau beberapa fungsi yang digunakan untuk menerapkan perintah ekstensi. Fungsi-fungsi ini dinamai sesuai dengan konvensi C standar, kecuali bahwa huruf besar tidak diizinkan.

Nama fungsi dan nama perintah ekstensi identik, kecuali bahwa perintah ekstensi dimulai dengan tanda seru ( ! ). Misalnya, saat Anda memuat Myextension.dll ke debugger lalu mengetik !stack ke jendela Perintah Debugger, debugger mencari fungsi yang diekspor bernama tumpukan di Myextension.dll.

Jika Myextension.dll belum dimuat, atau jika ada perintah ekstensi lain dengan nama yang sama di DLL ekstensi lain, Anda dapat mengetik !myextension.stack ke jendela Perintah Debugger untuk menunjukkan DLL ekstensi dan perintah ekstensi di DLL tersebut.

Setiap DLL ekstensi WdbgExts juga mengekspor sejumlah fungsi panggilan balik. Fungsi-fungsi ini dipanggil oleh debugger ketika DLL dimuat dan ketika perintah ekstensi digunakan.

Mesin debugger akan menempatkan blok try / except di sekitar pemanggilan ke DLL ekstensi. Ini melindungi mesin dari beberapa jenis bug dalam kode ekstensi. Namun, karena panggilan ekstensi dijalankan dalam utas yang sama dengan mesin, hal ini masih dapat menyebabkan mesin mengalami kegagalan.