48 votes

Pourquoi n'êtes chargé des Symboles lorsque le débogage à distance?

Je veux utiliser le débogage à distance. Le programme que je veux de débogage s'exécute sur la machine b. Visual Studio s'exécute sur une machine.

Sur la machine b, j'ai un dossier avec les fichiers suivants:

  • msvcr72.dll
  • msvsmon.exe
  • NatDbgDE.dll
  • NatDbgDEUI.dll
  • NatDbgEE.dll
  • NatDbgEEUI.dll

Si vous pensez que certains fichiers sont manquants, pourrais-tu décrire l'endroit où ils se trouvent généralement?

Dans l'étape suivante, j'ai commencé à l' msvsmon.exe et mon programme sur la machine b. Sur une machine, j'ai commencé à Visual Studio 2008 et ma solution dans laquelle le programme a été écrit. Puis-je choisir "Debug - Attacher au Processus". J'ai choisi "la Distance de Transport (Natif Uniquement avec aucune authentification)". J'ai utilisé l'adresse IP correcte comme un qualificatif, et prit le processus de droite (program.exe). Après un certain temps, le message suivant s'est produite dans une fenêtre:

Exception non gérée à 0x7c812a7b dans program.exe: 0xE0434F4D: 0xe0434f4d

Je peux continuer ou d'interrompre, en cas de poursuite, l'exception se produit encore et encore et encore. Donc j'ai appuyé sur pause et le message suivant s'est produite:

Pas de symboles sont chargés de tout cadre de pile d'appel. Le code source ne peut pas être affichée.

27voto

Kyle Trauberman Points 16049

Assurez-vous de copier le .PDB fichier qui est généré avec votre assemblée dans le même dossier sur la machine distante. Cela permettra le débogueur de ramassage des symboles de débogage.

16voto

BrianR Points 146
  1. Ajouter un dossier partagé sur votre machine de dev qui pointe vers l'emplacement de l' .fichiers pdb
  2. Définir une variable d'environnement appelée _NT_SYMBOL_PATH sur la machine distante qui pointe vers le dossier partagé sur votre machine de dev

Le débogueur distant va maintenant rechercher votre machine de dev pour les symboles. Pas besoin de les copier sur pour chaque génération.

Voir MME Vidéo ici.

Commencer à regarder les 8 et 9 minutes. Il montre comment configurer le remote debugger pour les symboles de charge à partir d'un lecteur de partager sur votre machine de développement.

Bonne chance!

14voto

scrat789 Points 813
  • Dans le menu Outils dans Visual studio 2010, choisissez Options.
  • Dans la boîte de dialogue Options, ouvrez le nœud de Débogage, puis cliquez sur les Généraux.
  • Cochez la case Afficher tous les paramètres, si nécessaire, et de les localiser Activer uniquement Mon Code (Gérée uniquement)
  • Décochez la case et cliquez sur OK

Après vous pouvez joindre les processus à distance

5voto

artur02 Points 3533

Le débogage à distance dans .NET ne fonctionnera pas si vous n'avez pas la place .PDB fichiers dans le même répertoire où le débogage de code existe.

Si VS ne trouvez toujours pas de source pour le débogage, le débogage de code et VS source du projet sont pas de la même version. La solution est en reconstruction et le redéploiement du projet.

4voto

1800 INFORMATION Points 55907

0xE0434F4D est une exception de la CLR (c'est à dire, le code managé). Vous avez besoin de faire le débogage à distance avec authentification et de choisir de déboguer du code managé. Alternativement, il est possible d'extraire de l'exception géré info à l'aide de certaines extensions de débogueur, mais il est un peu plus de travail.

Références:

En cas de bris, il est...

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X