共用方式為


建置 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。