對 Active Directory 擴充功能進行偵錯
本主題記載的 Microsoft Active Directory 目錄服務屬性表、操作功能表和物件建立精靈延伸模組會實作為 COM 內部伺服器。 也就是說,每個擴充功能都是在主機進程內容中執行的 DLL。 若要偵錯擴充功能,必須將擴充功能與應用程式產生關聯,並在調試程式中執行應用程式。
偵錯 Windows 殼層中顯示的 Active Directory 延伸模組
Windows 殼層中顯示的 Active Directory 擴充功能會在Explorer.exe程式的內容中載入。 這些延伸模組可以像標準殼層擴充功能一樣進行偵錯。 如需偵錯殼層延伸模組的詳細資訊,請參閱 使用殼層進行偵錯。
對 Active Directory MMC 嵌入式管理單元中顯示的 Active Directory 延伸模組進行偵錯
Active Directory 系統管理 MMC 嵌入式管理單元中顯示的 Active Directory 擴充功能會在 Microsoft Management Console 的內容中載入。 若要偵錯擴充功能,請在本機系統上找出Mmc.exe,並將調試程式設定為使用此調試程式做為偵錯的應用程式。 在大部分的系統上,Mmc.exe位於 Windows 系統目錄中,例如 C:\WINNT\System32。 視調試程式而定,您可能或可能不需要將擴充 DLL 設定為也由調試程式載入。 許多調試程式也可讓您將調試程式附加至執行中的 MMC 進程。 如需詳細資訊,請參閱調試程序使用者指南。
讓 MMC 自動載入特定嵌入式管理單元可能很方便。 若要這樣做,請將應用程式自變數設定為 MSC 檔案的路徑和檔名。 這可以是系統安裝的 MSC 檔案或您所建立的 MSC 檔案。 您可以遵循下列步驟來建立 MSC 檔案。
- 執行Mmc.exe。
- 選取 MMC 功能表中的 [檔案 - 新增/移除嵌入式管理單元...],然後選取所需的嵌入式管理單元,以載入所需的嵌入式管理單元。
- 選取 MMC 功能表中的 [檔案 - 另存新檔...],以儲存 MSC 檔案。
如果您未設定啟動 MSC 檔案,則必須在調試程式中執行應用程式時手動載入所需的嵌入式管理單元。
在調試程式中執行主應用程式時,調試程式可能會顯示警告訊息,指出正在執行的應用程式不包含任何偵錯符號。 這是預期的,而且可以安全地忽略,因為您實際上是偵錯 DLL,而不是主應用程式。
在大部分情況下,除非使用者執行導致載入和初始化延伸模組的一些動作,否則不會呼叫擴充功能。 例如,如果您要針對用戶物件所顯示的快捷功能表延伸模組進行偵錯,則在用戶物件第一次顯示操作功能表之前,擴充功能才會載入。
您現在應該能夠設定斷點並檢視偵錯輸出。 如果延伸模組似乎未載入,請在擴充功能的 DllGetClassObject 函式中設定斷點。 如果未 呼叫 DllGetClassObject ,擴充功能可能未正確註冊。
當偵錯完成時,結束 MMC 和調試程式應該正常卸除。