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