IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Dotnet Discussion :

Débogage DLL (avec pdb inclus) en mode pas à pas ne marche pas


Sujet :

Dotnet

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 49
    Points : 91
    Points
    91
    Par défaut Débogage DLL (avec pdb inclus) en mode pas à pas ne marche pas
    Bonjour,

    Je voudrais déboguer en mode pas à pas sur un pc B une DLL compilée sur un PC A.

    J'ai Visual Studio 2008 avec des projet sur la version 2 du Framework.

    Je compile ma DLL sur mon pc A, avec l'option avancée de compilation : "Générer des infos de débogage=Full", je la distribue sur un pc B, je la référence dans un projet Console par exemple, (dans Visual studio, j'ai l'option de débogage "Activer uniquement mon code" décochée) => Lorsque je débogue mon projet, il m'est impossible de rentrer en mode pas à pas dans une méthode de ma DLL (je rentre dans le code assembleur). Pourtant, dans la fenêtre "Modules", le pdb de la dll est marqué comme chargé...

    Le seul moyen pour que ce ça marche est de compiler la DLL sur le pc B.

    Est-ce que j'ai manqué quelquechose ? Peut-on déboguer en mode pas à pas une DLL compilé sur une autre machine ?

  2. #2
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    Oui, tu as manqué le code source.
    Les fichiers pdb servent juste, en gros, à mapper la dll en cours avec le fichier source correspondant et donc en pas à pas le debugger regarder s'il a un pdb, s'il l'a il extrait la position dans le code source de la méthode en cours à l'offset en cours et ensuite, il va chercher le code source (qui doit donc être accessible) afin de l'afficher. Si tu n'as pas le code source sur le même pc tout ce que tu pourra avoir c'est le nom de la méthode actuelle, l'offset, et le code assembleur qui correspond.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 49
    Points : 91
    Points
    91
    Par défaut
    Merci de ta réponse.
    Je pensait naïvement que le pdb permettait à Visual Studio de faire une sorte de Reflector amélioré...

  4. #4
    Membre éprouvé

    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 163
    Points : 1 148
    Points
    1 148
    Par défaut
    Je suis moi même confronté au même problème.

    Cependant je me demande ou dois je placer le code source pour que Visual Studio 2008 puisse le trouver ?

    Dans les fichiers *.pdb les chemins sont absolus et correspondent à ceux de la machine sur laquelle la compilation de la dll a été effectuée. Or je n'aurais pas toujours la possibilité de reconstruire le même chemin.

    Si le pdb sert de lien entre l'exécutable et le fichier source, comment indiquer à VS ou chercher les fichiers sources ?

    Merci d'avance,

    Neilos

  5. #5
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    C'est bizarre, quand tu arrives sur une exception dans le debug (ou que tu fasses break), il ne te proposes pas de rechercher le fichier source ?

  6. #6
    Membre éprouvé

    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 163
    Points : 1 148
    Points
    1 148
    Par défaut
    Il me l'a demandé une première fois. Mais je ne l'avais pas encore.
    Maintenant il ne me le demande plus.

    Mon autre problème c'est que j'aimerais bien automatiser cette "installation" des sources dans Visual Studio. L'idée étant que ces sources soient installées et enregistrer dans Visual Studio en même temps que le reste du SDK que je développe.

    Une idée pour l'un de mes deux problèmes ?

  7. #7
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    Essayes de reconstruire toutes tes dlls pour voir. Par contre je ne connais pas de moyen simple "d'installer" les sources dans VS. (Un moyen compliqué serai de déplacer le projet sur la destination et de l'y compiler).

  8. #8
    Membre éprouvé

    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 163
    Points : 1 148
    Points
    1 148
    Par défaut
    J'ai déjà reconstruit mais rien n'y a fait. Je réessayerais lundi.

    En fait je cherche justement à éviter d'insérer tous les projets des DLL dans la solution pour les quelques rares fois où je vais avoir à débuger dedant ce serait beaucoup trop chargé.

    Merci quand même pour ton aide, si je trouve une solution je la posterais ici.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 23/03/2013, 17h15
  2. [strtok] marche pas et je sais pas pourquoi
    Par kase74 dans le forum Débuter
    Réponses: 10
    Dernier message: 20/09/2010, 17h32
  3. je ne sais pas pourquoi ça marche pas ce code ?
    Par hafa81 dans le forum Débuter
    Réponses: 2
    Dernier message: 13/01/2010, 22h23
  4. [ZF 1.5] Tuto Débuter avec Zend Framework 1.5, le CSS ne marche pas
    Par drawerJ dans le forum Zend Framework
    Réponses: 16
    Dernier message: 08/06/2009, 17h52
  5. Comprends pas pourquoi ca marche pas
    Par cellimo dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 08/11/2005, 23h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo