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.
Pustaka ekstensi EngExtCpp dibangun dengan cara yang hampir sama dengan pustaka ekstensi DbgEng. Untuk informasi selengkapnya, lihat Membangun Ekstensi DbgEng.
Kode implementasi EngExtCpp (engextcpp.cpp) digunakan alih-alih menautkan dengan pustaka statis.
Karena kerangka kerja ekstensi EngExtCpp dibangun di atas kerangka kerja ekstensi DbgEng, DLL ekstensi EngExtCpp harus mengekspor fungsi yang sama dengan DLL ekstensi DbgEng.
Setiap ekstensi harus diekspor. Saat Anda menggunakan makro EXT_COMMAND untuk menentukan fungsi ekstensi, makro ini juga membuat fungsi C dengan nama yang sama dengan ekstensi. Fungsi ini harus diekspor dari DLL.
Fungsi berikut disediakan oleh engextcpp harus diekspor dari DLL EngExtCpp.
DebugExtensionInitialize -- sehingga metode Inisialisasi dapat dipanggil untuk menginisialisasi pustaka.
DebugExtensionUnitialize -- sehingga metode Uninitialize dapat dipanggil untuk menginisialisasi ulang pustaka.
KnownStructOutputEx -- sehingga mesin dapat memanggil metode ExtKnownStructMethod untuk memformat struktur yang diketahui untuk output.
DebugExtensionNotify -- sehingga mesin dapat memanggil metode OnSessionActive, OnSessionInactive, OnSessionAccessible, dan OnSessionInaccessible untuk memberi tahu pustaka ekstensi tentang perubahan pada status sesi debugging.
bantuan -- sehingga kerangka kerja ekstensi EngExtCpp dapat secara otomatis menyediakan ekstensi !help .
Fungsi-fungsi ini dapat diekspor bahkan jika fungsionalitas yang mereka berikan tidak diperlukan. Selain itu, jika tidak diekspor, fungsionalitas yang mereka berikan akan hilang.
DebugExtensionInitialize harus diekspor agar mesin debugger mengenali DLL sebagai DLL ekstensi DbgEng yang valid.