共用方式為


使用調試程序擴充功能命令

使用調試程式擴充功能命令與調試程式命令的使用非常類似。 此命令會在 [調試程式命令] 視窗中輸入,在這個視窗中產生輸出,或是目標應用程式或目標計算機的變更。

實際的調試程式擴充命令是調試程式所呼叫 DLL 中的進入點。

除錯程式擴充功能是由下列語法叫用:

![module.]extension [arguments]

模組名稱不應該跟著擴展名.dll。 如果 模組 包含完整路徑,預設字串大小限制為 255 個字元。

如果模組尚未載入,則會使用對 LoadLibrarymodule) 的呼叫,將載入調試程式。 在調試程式載入延伸模組連結庫之後,它會呼叫 GetProcAddress 函式,以在擴充模組中尋找延伸模組名稱。 延伸模組名稱會區分大小寫,而且必須和擴充模組的 .def 檔案中顯示的一樣輸入。 如果找到延伸模組位址,則會呼叫延伸模組。

搜尋順序

如果未指定模組名稱,調試程式將會搜尋載入的擴充模組以取得此匯出。

預設搜尋順序如下所示:

  1. 適用於所有操作系統和兩種模式的擴充模組:Dbghelp.dll 和 winext\ext.dll。

  2. 適用於所有模式但操作系統專屬的擴充模組。 針對 Windows XP 和更新版本的 Windows,這是 winxp\exts.dll。

  3. 可搭配所有作業系統使用的擴充模組,但為模式特定。 針對核心模式,這是 winext\kext.dll。 針對使用者模式,這是 winext\uext.dll。

  4. 操作系統專屬和模式專屬的擴充模組。 下表指定此課程模組。

使用者模式 核心模式
winxp \ ntsdexts.dll winxp \ kdexts.dll

卸除擴充模組時,它會從搜尋鏈結中移除。 載入擴充模組時,它會新增至搜尋順序的開頭。 .setdll (設定預設擴充 DLL) 命令可用來將任何模塊升級至搜尋鏈結頂端。 您可以重複使用此命令,完全控制搜尋鏈結。

使用 .chain (List Debugger Extensions) 命令,以目前搜尋順序顯示所有已載入的擴充模塊清單。

如果您嘗試執行不在任何載入延伸模組模組中的擴充命令,您會收到「找不到匯出」錯誤訊息。