février
2009
La première chose à faire est de copier sur le serveur les fichiers pdb avec les assemblies que vous souhaitez déboguer. Quand les assemblies sont dans la GAC, vous pouvez créer un disque virtuel pour mapper le répertoire de la GAC (c:\Windows\Assembly). Il est préférable de copier à la fois la dll et le pdb sinon vous risquez d’avoir un problème de concordance. Vous serez probablement amené à faire un IISReset avant cette copie pour libérer les assemblies. Malheureusement, il n’est pas possible d’utiliser les pdb sur votre machine locale mais en les chargeant manuellement depuis la fenêtre « module ».
subst g: c:\windows\assembly\gac_msil
Une fois les pdb copiés, vous devez, toujours sur le serveur, démarrer le “Visual Studio 2005 remote debugging monitor”.
Dans l’option “Tools” du menu, vous devez donner les permissions à l’utilisateur que exécute Visual Studio sur la machine locale.
Pour retrouver le nom du serveur à utiliser dans Visual Studio, cliquez sur “Options”
Maintenant, vous pouvez aller dans Visual Studio sur votre machine locale.
Ouvrez le fichier ou le projet que vous voulez déboguer.
Cliquez sur “Attach to process”, utilisez le nom du serveur précédemment trouvé dans le champ « qualifier ».
Attachez le processus w3wp.exe. Si vous avez plus d’un processus, attachez les tous pour être sur d’avoir le bon ou recherchez le pid de votre processus en utilisant la commande IISApp sur le serveur.
Maintenant, vous pouvez déboguer.
PS: Je tiens à remercier Wilke Jansoone pour les informations fournies.
Intéressant, je le note…
Personnellement, je n’ai pas encore eu besoin de ce genre de manip, mais c’est vrai que ça peut sauver la vie
Merci pour l’astuce