Débogage d’une extension Active Directory
La feuille de propriétés du service d’annuaire Microsoft Active Directory, le menu contextuel et les extensions de l’Assistant Création d’objets documentées dans cette rubrique sont implémentées en tant que serveurs COM in-proc. Autrement dit, chaque extension est une DLL qui s’exécute dans le contexte du processus hôte. Pour déboguer l’extension, il est nécessaire d’associer l’extension à une application et d’exécuter l’application dans un débogueur.
Débogage des extensions Active Directory affichées dans l’interpréteur de commandes Windows
Les extensions Active Directory affichées dans l’interpréteur de commandes Windows sont chargées dans le contexte du processus Explorer.exe. Ces extensions peuvent être déboguées comme une extension d’interpréteur de commandes standard. Pour plus d’informations sur le débogage des extensions d’interpréteur de commandes, consultez Débogage avec l’interpréteur de commandes.
Débogage des extensions Active Directory affichées dans le Snap-Ins MMC Active Directory
Les extensions Active Directory affichées dans les composants logiciels enfichables MMC d’administration Active Directory sont chargées dans le contexte de la console de gestion Microsoft. Pour déboguer une extension, recherchez Mmc.exe sur le système local et définissez le débogueur pour l’utiliser comme application de débogage. Sur la plupart des systèmes, Mmc.exe se trouve dans le répertoire système Windows, par exemple, C:\WINNT\System32. Selon le débogueur, il se peut que vous deviez ou non définir la DLL d’extension pour qu’elle soit également chargée par le débogueur. De nombreux débogueurs vous permettent également d’attacher le débogueur à un processus MMC en cours d’exécution. Pour plus d’informations, consultez le Guide de l’utilisateur de votre débogueur.
Il peut être pratique de charger automatiquement MMC un composant logiciel enfichable spécifique. Pour ce faire, définissez les arguments d’application sur le chemin d’accès et le nom de fichier d’un fichier MSC. Il peut s’agir d’un fichier MSC installé par le système ou d’un fichier que vous créez. Un fichier MSC peut être créé en suivant ces étapes.
- Exécutez Mmc.exe.
- Chargez le composant logiciel enfichable souhaité en sélectionnant Fichier - Ajouter/supprimer un composant logiciel enfichable... dans le menu MMC, puis sélectionnez le composant logiciel enfichable souhaité.
- Enregistrez le fichier MSC en sélectionnant Fichier - Enregistrer sous... dans le menu MMC.
Si vous ne définissez pas de fichier MSC de démarrage, vous devez charger manuellement le composant logiciel enfichable souhaité lorsque vous exécutez l’application dans le débogueur.
Lorsque l’application hôte est exécutée dans le débogueur, celui-ci peut afficher un message d’avertissement indiquant que l’application en cours d’exécution ne contient aucun symbole de débogage. Cela est attendu et peut être ignoré en toute sécurité, car vous déboguez réellement la DLL, et non l’application hôte.
Dans la plupart des cas, l’extension n’est pas appelée tant que l’utilisateur n’a pas effectué une action qui entraîne le chargement et l’initialisation de l’extension. Par exemple, si vous déboguez une extension de menu contextuel affichée pour les objets utilisateur, l’extension ne se chargera pas tant que le menu contextuel d’un objet utilisateur n’est pas affiché pour la première fois.
Vous devez maintenant être en mesure de définir des points d’arrêt et d’afficher la sortie de débogage. Si l’extension ne semble pas être chargée, définissez un point d’arrêt dans la fonction DllGetClassObject de l’extension. Si DllGetClassObject n’est pas appelé, l’extension n’est probablement pas inscrite correctement.
Une fois le débogage terminé, quittez MMC et le débogueur doit se décharger normalement.