EngExtCpp Uzantıları Yazma

EngExtCpp uzantı kitaplığı herhangi bir standart C++ kodu içerebilir. Ayrıca, wdbgexts.h üst bilgi dosyasında görünen C işlevlerine ek olarak engextcpp.h ve dbgeng.h üst bilgi dosyalarında görünen C++ arabirimlerini de içerebilir. Hem dbgeng.h hem de wdbgexts.h, engextcpp.h dosyasından eklenir.

dbgeng.h dosyasındaki bir uzantı komutunda kullanılabilecek arabirimlerin tam listesi için bkz. Hata Ayıklayıcı Altyapısı Başvurusu.

bir uzantı komutunda kullanılabilen wdbgexts.h içindeki işlevlerin tam listesi için bkz. WdbgExts İşlevleri. Bu işlevlerin bir kısmı 32 bit sürümlerde ve 64 bit sürümlerde görünür. Genellikle, 64 bit sürümleri "64" ile biter ve 32 bit sürümlerin sayısal sonu yoktur; örneğin, ReadIoSpace64 ve ReadIoSpace. DbgEng uzantısından wdbgexts.h işlevini çağırırken her zaman "64" ile biten işlev adını kullanmanız gerekir. Bunun nedeni , hata ayıklayıcı altyapısının hedef platformdan bağımsız olarak her zaman dahili olarak 64 bit işaretçiler kullanmasıdır. wdbgexts.h eklerken, engextcpp.h API'nin 64 bit sürümünü seçer. WDbgExts API'si tarafından kullanılan ExtensionApis genel değişkeni, bir EngExtCpp yöntemine girişte otomatik olarak başlatılır ve çıkışta temizlenir.

Uzak DbgEng arabirimleriyle bir EngExtCpp uzantısı kullanıldığında, WDbgExts arabirimleri kullanılamaz ve ExtensionApis yapısı sıfırlanabilir. Bir EngExtCpp uzantısının böyle bir ortamda çalışması bekleniyorsa, WDbgExts API'sini kullanmaktan kaçınmalıdır.

Not Herhangi bir hata ayıklayıcı uzantısından DbgHelp veya ImageHlp yordamlarını çağırmayı denememelisiniz. Bu rutinlerin çağrılması desteklenmez ve çeşitli sorunlara neden olabilir.