Depuración de una extensión de Active Directory
Las extensiones del Asistente para creación de objetos, menú contextual y hoja de propiedades del servicio de directorio de Microsoft Active Directory que se documentan en este tema se implementan como servidores COM en proceso. Es decir, cada extensión es un archivo DLL que se ejecuta en el contexto del proceso de host. Para depurar la extensión, es necesario asociar la extensión a una aplicación y ejecutar la aplicación en un depurador.
Depuración de extensiones de Active Directory mostradas en el Shell de Windows
Las extensiones de Active Directory que se muestran en el shell de Windows se cargan en el contexto del proceso de Explorer.exe. Estas extensiones se pueden depurar como una extensión de shell estándar. Para obtener más información sobre la depuración de extensiones de shell, consulte Depuración con shell.
Depuración de extensiones de Active Directory mostradas en el Snap-Ins MMC de Active Directory
Las extensiones de Active Directory que se muestran en los complementos MMC administrativos de Active Directory se cargan en el contexto de Microsoft Management Console. Para depurar una extensión, busque Mmc.exe en el sistema local y establezca el depurador para usarlo como aplicación para depurar. En la mayoría de los sistemas, Mmc.exe se encuentra en el directorio del sistema de Windows, por ejemplo, C:\WINNT\System32. En función del depurador, es posible que el depurador también cargue o no el archivo DLL de extensión. Muchos depuradores también permiten asociar el depurador a un proceso MMC en ejecución. Para obtener más información, consulte la Guía del usuario del depurador.
Puede ser conveniente que MMC cargue automáticamente un complemento específico. Para ello, establezca los argumentos de la aplicación en la ruta de acceso y el nombre de archivo de un archivo MSC. Puede ser un archivo MSC instalado por el sistema o uno que cree. Para crear un archivo MSC, siga estos pasos.
- Ejecute Mmc.exe.
- Cargue el complemento deseado seleccionando Agregar o - quitar complemento... en el menú MMC y seleccione el complemento deseado.
- Para guardar el archivo MSC, seleccione Guardar archivo - como... en el menú MMC.
Si no establece un archivo MSC de inicio, debe cargar manualmente el complemento deseado al ejecutar la aplicación en el depurador.
Cuando se ejecuta la aplicación host en el depurador, el depurador puede mostrar un mensaje de advertencia que indica que la aplicación que se ejecuta no contiene ningún símbolo de depuración. Esto se espera y se puede omitir de forma segura porque realmente está depurando el archivo DLL, no la aplicación host.
En la mayoría de los casos, no se llamará a la extensión hasta que el usuario realice alguna acción que haga que la extensión se cargue e inicialice. Por ejemplo, si está depurando una extensión de menú contextual que se muestra para objetos de usuario, la extensión no se cargará hasta la primera vez que se muestre el menú contextual de un objeto de usuario.
Ahora debería poder establecer puntos de interrupción y ver la salida de depuración. Si la extensión no parece cargarse, establezca un punto de interrupción en la función DllGetClassObject de la extensión. Si no se llama a DllGetClassObject , es probable que la extensión no se registre correctamente.
Una vez completada la depuración, salga de MMC y el depurador debe descargarse normalmente.