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

Eclipse C & C++ Discussion :

Comment utiliser le debugger sous Eclipse avc wxWidgets


Sujet :

Eclipse C & C++

  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2002
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 200
    Par défaut Comment utiliser le debugger sous Eclipse avc wxWidgets
    Bonjour,

    Je fais la chose la plus simple du monde, c'est a dire que je crée une string à la sauce wxWidgets, simplement dans un programme d'essai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    wxString toto = _T("bonjour") ;
    Je suis completement novice sous Eclipse : sous le debuggueur, comment afficher la valeur de ma string, c'est a dire voir qu'elle contient "bonjour" ?

    Dans l'onglet "Variables" de la perspective Debug, j'ai bien ma variable toto et quand je clique dessus pour l'épier ceci apparait :
    {<wxStringBase> = {static npos = 4294967295, m_pchData = 0x813c3f4}, <No data fields>}
    Donc c'est bien beau de me donner l'adresse memoire du buffer qui contient ma chaine mais comment je fais pour voir "simplement" la valeur ?

    Merci, a plus.

  2. #2
    Membre émérite
    Avatar de mamelouk
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    867
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2005
    Messages : 867
    Par défaut
    salut,

    comment tu ferais pour afficher ta string avec printf ?

  3. #3
    Membre confirmé
    Inscrit en
    Septembre 2002
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 200
    Par défaut
    Ok je vois ce que tu veux dire. Comme pour mon autre message dans ce forum, si j'ajoute dans les expressions toto.c_str() il devrait pouvoir s'en sortir ?

    wxWidgets accepte le meme formalisme que la stl pour les strings.

    Merci.

  4. #4
    Membre confirmé
    Inscrit en
    Septembre 2002
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 200
    Par défaut
    Voici une facon de proceder (longtemps apres coup, apres de nombreuses recherches...):

    Pour toutes chaines comme les wxString ou les string de la STL, si le contenu ne s'affiche pas, il est possible de selectionner (en debug, lors de l'inspection d'une variable sous Eclipse) l'élément de plus bas niveau dans la string (par exemple, le pointeur de data pour la une std::string, m_pCHData...), et click droit -> "cast to"... Et dans le champs de cast qui apparait, convertir en (char*) la variable. Cela affichera automatiquement la valeur.

    De meme, pour lister le contenu d'un vecteur (de la STL), vous pouvez utiliser ces macros: http://www.yolinux.com/TUTORIALS/GDB....html#STLDEREF

    Pqr exemple, pour lister un vecteur de std::string qui s'appellerai my_vector, il suffit de taper dans la console GDB:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    pvector my_vector char*
    Et les valeurs s'affichent.
    ++
    Alexandre.

Discussions similaires

  1. Réponses: 5
    Dernier message: 16/01/2011, 16h14
  2. Réponses: 0
    Dernier message: 13/04/2010, 01h06
  3. Réponses: 0
    Dernier message: 13/04/2010, 01h06
  4. Utiliser le debugger sous Eclipse dans un projet C/C++
    Par Bleys dans le forum Eclipse C & C++
    Réponses: 2
    Dernier message: 09/02/2010, 19h50

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