Déboguer à distance dans Visual Studio

Pour déboguer à distance, il faut:

  • que les sources soient les mêmes que le code exécutées
  • configurer le parefeu ou le désactiver pour l’accès à la machine hôte à distance
  • que les fichiers PDB soient présents : le répertoire de ces fichiers peut être ajouté dans Tools => Options => Debugging => Symbols
  • que le debugguer à distance Visual soit installé sur la machine hôte (où se trouvent l’exécutable; Visual et le code se trouvant sur la machine cliente).

On peut télécharger le Remote Debugger à l’adresse suivante:
http://www.microsoft.com/fr-fr/download/details.aspx?id=475

Si l’installation ne se passe pas correctement, il suffit de copier les fichiers qui se trouvent sur la machine cliente dans:
C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\Remote Debugger

Authentification

Il faut privilégier une authentification plutôt que l’absence d’authentification. L’authentification Windows nécessite d’avoir un compte administrateur configuré sur la machine hôte avec les mêmes données d’authentification que la machine cliente.

Création d’un compte utilisateur sur la machine hôte

Il faut créer un compte utilisateur sur la machine hôte avec les mêmes données d’authentification que sur la machine cliente pour pouvoir utiliser l’authentification Windows. Pour créer un nouvel utilisateur, il faut:

  • Aller dans Gestion de l’ordinateur: Menu Demarrer => clique droit sur ordinateur => Gérer ou Panneau de configuration => Système et sécurité => Outils d’administration => Gestion de l’ordinateur.
  • Dans Utilisateurs et groupes => Utilisateurs, ajouter un utilisateur avec le même nom que la machine cliente
  • L’utilisateur créé doit faire partie du groupe Administrateur.

Vérifier les éléments de sécurité sur la machine hôte

Aller dans Panneau de configuration => Système et sécurité => Outils d’administration => Stratégie de sécurité locale. Dans la fenêtre, dépliser “Stratégie locale”, puis Options de sécurité. Ensuite, il faut configurer “Accès réseau: modèle de partage et de sécurité pour les comptes locaux” à “Classique – les utilisateurs locaux s’authentifient eux-mêmes”.

Débogage à distance

Remote debugger

Il faut lancer le remote debugger sur la machine hôte avec les droits de l’utilisateur nouvellement créé. Il est préférable de faire le lancement à partir d’une ligne de commande lancée en tant que le nouvel utilisateur en faisant:

runas /user:[nouvel utilisateur] "[Chemin de msvsmon.exe]"

puis configurer l’authentification dans:
Options => Options. Il faut sélectionner “Authentification Windows”.

Visual Studio

Attacher au processus correspondant à l’exécutable sur la machine hôte: Debug => Attach to process. L’exécutable sur la machine hôte doit avoir été lancé en tant que le nouvel utilisateur.
Sélectionner les paramètres suivants:

  • Transport: Default
  • Qualifier [nouvel utilisateur]@[nom machine hôte]
  • puis sélectionner l’application à débuger.

Leave a Reply