Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Biblioteki rozszerzeń EngExtCpp są tworzone niemal tak samo jak biblioteki rozszerzeń DbgEng. Aby uzyskać więcej informacji, zobacz Kompilowanie rozszerzeń DbgEng.
Kod implementacji EngExtCpp (engextcpp.cpp) jest używany zamiast łączenia z biblioteką statyczną.
Ponieważ struktura rozszerzenia EngExtCpp jest oparta na strukturze rozszerzenia DbgEng, biblioteka DLL rozszerzenia EngExtCpp powinna eksportować te same funkcje co biblioteka DLL rozszerzenia DbgEng.
Każde rozszerzenie należy wyeksportować. Jeśli używasz makra EXT_COMMAND do zdefiniowania funkcji rozszerzenia, to makro tworzy również funkcję C o tej samej nazwie co rozszerzenie. Ta funkcja powinna zostać wyeksportowana z biblioteki DLL.
Należy wyeksportować następujące funkcje udostępniane przez engextcpp z biblioteki DLL EngExtCpp.
DebugExtensionInitialize — aby można było wywołać metodę Initialize w celu zainicjowania biblioteki.
DebugExtensionUnitialize — aby móc wywołać metodę Uninitialize w celu zainicjowania biblioteki na nowo.
KnownStructOutputEx — aby silnik mógł wywołać metody ExtKnownStructMethod w celu sformatowania znanych struktur wyjściowych.
DebugExtensionNotify — aby aparat mógł wywołać metodę OnSessionActive, OnSessionInactive, OnSessionAccessible i OnSessionInaccessible , aby powiadomić bibliotekę rozszerzeń o zmianach stanu sesji debugowania.
pomoc — dzięki czemu platforma rozszerzeń EngExtCpp może automatycznie zapewnić rozszerzenie !help.
Te funkcje można eksportować, nawet jeśli funkcje, które udostępniają, nie są potrzebne. Ponadto, jeśli nie zostaną wyeksportowane, funkcje, które udostępniają, zostaną utracone.
DebugExtensionInitialize należy wyeksportować, aby aparat debugera rozpoznawał bibliotekę DLL jako prawidłową bibliotekę DLL rozszerzenia DbgEng.