共用方式為


建置 EngExtCpp 延伸模組

EngExtCpp 延伸模組程式庫的建置方式幾乎與 DbgEng 延伸模組程式庫相同。 如需詳細資訊,請參閱 建置 DbgEng 延伸模組

使用 EngExtCpp 實作程式碼 (engextcpp.cpp) ,而不是與靜態程式庫連結。

因為 EngExtCpp 延伸模組架構建置在 DbgEng 擴充功能架構之上,所以 EngExtCpp 延伸模組 DLL 應該匯出與 DbgEng 擴充功能 DLL 相同的函式。

每個延伸模組都應該匯出。 當您使用 EXT_COMMAND 宏來定義擴充函式時,此宏也會建立與延伸模組同名的 C 函式。 此函式應該從 DLL 匯出。

下列函式是由 engextcpp 所提供,應該從 EngExtCpp DLL 匯出。

  • DebugExtensionInitialize -- 以便呼叫 Initialize 方法來初始化程式庫。

  • DebugExtensionUnitialize -- 讓 Uninitialize 方法可以呼叫來取消初始化程式庫。

  • KnownStructOutputEx -- 讓引擎可以呼叫 ExtKnownStructMethod 方法來格式化輸出的已知結構。

  • DebugExtensionNotify -- 讓引擎可以呼叫OnSessionActiveOnSessionInactiveOnSessionAccessible 和 OnSessionInaccessible方法,以通知擴充程式庫對偵錯會話狀態的變更。

  • help -- 讓 EngExtCpp 延伸模組架構可以自動提供 !help 延伸模組。

即使不需要它們所提供的功能,也可以匯出這些函式。 此外,如果未匯出它們,它們所提供的功能將會遺失。

DebugExtensionInitialize 必須匯出,偵錯工具引擎才能將 DLL 辨識為有效的 DbgEng 延伸模組 DLL。