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

Visual C++ Discussion :

Débugger une librarie


Sujet :

Visual C++

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    907
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 907
    Points : 372
    Points
    372
    Par défaut Débugger une librarie
    Bonjour,

    J'ai 2 programmes Visual C++ : dont l'un est une librairie de l'autre.

    Les 2 projets visual C++ sont séparés. Le programme 1 appelle le programme 2 qui est la librairie.

    Comment faire pour débugger la librarie ?

    Merci,
    Christophe

  2. #2
    Membre du Club
    Inscrit en
    Mars 2011
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 50
    Points : 67
    Points
    67
    Par défaut
    Bonjour,

    Personnellement lorsque je développe une librairie je la teste comme une application avec un "main" de teste puis je la compile en librairie

    Voilà si ça peut t'aider

    Knives

  3. #3
    Membre émérite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2011
    Messages
    1 255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 255
    Points : 2 627
    Points
    2 627
    Par défaut
    Citation Envoyé par cjacquel Voir le message
    Bonjour,

    J'ai 2 programmes Visual C++ : dont l'un est une librairie de l'autre.

    Les 2 projets visual C++ sont séparés. Le programme 1 appelle le programme 2 qui est la librairie.

    Comment faire pour débugger la librarie ?
    C'est très simple, y'a rien a faire. Tu lances ton exécutable (avec Visual), tu mets un point d'arrêt dans le code source de la lib et ça doit marcher.

    tu n'es pas obligé d'avoir les 2 dans une même solution Visual.

    Au pire, tu dis à Visual (celui de la lib) qu'elle est débuggée par l'exe.
    Si tu appuies sur F5 du Visual de la lib, il va te demander avec quel exe tu veux la débugger.

  4. #4
    Expert confirmé Avatar de fregolo52
    Homme Profil pro
    Développeur C
    Inscrit en
    Août 2004
    Messages
    2 366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Août 2004
    Messages : 2 366
    Points : 5 381
    Points
    5 381
    Par défaut
    Citation Envoyé par knives07 Voir le message
    Bonjour,

    Personnellement lorsque je développe une librairie je la teste comme une application avec un "main" de teste puis je la compile en librairie

    Voilà si ça peut t'aider

    Knives
    Quelle horreur !!!!!

  5. #5
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 157
    Points : 12 271
    Points
    12 271
    Par défaut
    Comme l'a dit mala92, c'est très simple.

    Mais il faut prendre des précautions.

    Pour que le debugger de Visual Studio puisse vous indiquer les lignes en cours d'exécution, il faut qu'il ait accès aux informations de debugging des modules.

    Donc pour débugger une librairie, il faut que le débuggeur trouve ces informations, sot directement dans le binaire (dans une section dédié de l'exécutable) soit dans un fichier dédié, le pdb.

    Donc vérifiez que ces informations sont bien générées lors de la compilation de votre librairie. Si ces informations sont dans un fichier PDB, Il faudra aussi vérifier que le débuggeur les trouves, en les copiant dans le répertoire de travail de l'exécutable lancé par le débuggeur en début de session (touche F5 de VS).

  6. #6
    Membre du Club
    Inscrit en
    Mars 2011
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 50
    Points : 67
    Points
    67
    Par défaut
    Citation Envoyé par fregolo52 Voir le message
    Quelle horreur !!!!!
    okay je savais pas

  7. #7
    Expert confirmé Avatar de fregolo52
    Homme Profil pro
    Développeur C
    Inscrit en
    Août 2004
    Messages
    2 366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Août 2004
    Messages : 2 366
    Points : 5 381
    Points
    5 381
    Par défaut
    Citation Envoyé par knives07 Voir le message
    Je n'avais pas vu ton "je la teste", vu que le sujet parle de debug et non de test.

    Quand tu as une lib, tu as donc des fichiers sources, ces fichiers sources tu peux les intégrer dans un projet (exécutable) pour faire des tests unitaire/intégration automatisés. Mais ce n'est pas du debuggage !

  8. #8
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 157
    Points : 12 271
    Points
    12 271
    Par défaut
    Pour tester une librairie, il vaut mieux avoir un projet exécutable "Host" qui charge/utilise la librairie plutôt que la transformer en exécutable.

    Ce projet Host sera de toute façon nécessaire pour la mise en place des tests unitaires, à moins d'utiliser un Framework de test unitaire, qui générera ou fournira cet exécutable.

    En résumé, ne jamais convertir une librairie en exécutable. Il n'y a aucun bénéfice à la faire et cela empêche de voir des problèmes à l''utilisation de la librairie, comme des dépendance à la C-Runtime, les .h inutilisables etc..

Discussions similaires

  1. Développer / Compiler une library C++
    Par be_tnt dans le forum Autres éditeurs
    Réponses: 8
    Dernier message: 17/03/2006, 08h21
  2. Réponses: 5
    Dernier message: 15/02/2006, 17h16
  3. Utilisation d'une librarie dans un projet
    Par gids01 dans le forum MFC
    Réponses: 17
    Dernier message: 27/01/2006, 15h41
  4. installer une librarie c++ sous linux
    Par youp_db dans le forum Bibliothèques
    Réponses: 2
    Dernier message: 22/01/2006, 23h31
  5. [debutant] importer une library
    Par stpere dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 10/08/2004, 17h35

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