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

C++ Discussion :

erreur de configuration lldb ?


Sujet :

C++

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 13
    Par défaut erreur de configuration lldb ?
    Bonjour,

    j'ai compile un programme tres simple avec cette

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    clang++ main.cpp -g -o test
    puis lance lldb

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    lldb ./test
    b main , r, gui, n n n n n …
    comme vous pouvez le voir dans la partie haute de la capture d ecran qui suit , la variable "unordered" affiche size=0 ..... or il y a bien une valeur dedans . et le cout affiche bien 1 pour unordered.size() et je n'ai pas ce probleme avec gdb

    vscode m'affiche un peu plus d'informations on voit bien m_element_count = 1

    si quelqu'un a une explication ou une sugestion a me proposer je suis preneur,

    merci d avance

    Nom : image.png
Affichages : 83
Taille : 478,0 Ko

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    (gdb) info locals
    c = 46 ‘.’
    unordered = std::unordered_set with 1 element = {[0] = 0x7fffffffde67 “.@\343VUUU”}
    ordered = std::set with 1 element = {[0] = 0x7fffffffde67 “.@\343VUUU”}

  2. #2
    Membre actif
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Novembre 2023
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Novembre 2023
    Messages : 78
    Par défaut
    Salut! Ce code fonctionne parfaitement chez moi avec mingw.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #include <iostream>
    #include <set>
    #include <unordered_set>
    int main() {
        char c;
        std::unordered_set<char*> unordered;
        unordered.insert(&c);
        std::set<char*> ordered;
        ordered.insert(&c);
        std::cout<<unordered.size()<<" "<<ordered.size()<<std::endl;
        return 0;
    }
    Nom : test.png
Affichages : 54
Taille : 11,7 Ko

    Par contre je ne connais pas lldb, qu'est ce que c'est ? Apparemment d'après mes recherches sur Internet c'est un débugueur pour clang.

    Je me souviens avoir eu des problèmes de compilation avec clang pour mon moteur de jeux que je n'ai pas avec mingw.

  3. #3
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 040
    Billets dans le blog
    138
    Par défaut
    Bonjour,

    En effet, j'arrive à reproduire le problème dans lldb, comme vous le décrivez.
    Une piste -> https://youtrack.jetbrains.com/issue...tdunorderedset
    Du coup, en faisant un print unordered.size(), vous obtenez la bonne taille:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    (lldb) print unordered
    (std::unordered_set<char *>) size=0 {}
    (lldb) print unordered.size()
    (std::unordered_set<char *>::size_type) 1
    Étrangement, le print standard (le formatteur) ne s'y retrouve pas.

    Vous pouvez désactiver le formatteur ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    frame var --raw unordered
    Ce qui affiche:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    (lldb) frame var --raw unordered
    (std::unordered_set<char *, std::hash<char *>, std::equal_to<char *>, std::allocator<char*> >) unordered = {
      _M_h = {
        _M_buckets = 0x000055555556e2d0
        _M_bucket_count = 13
        _M_before_begin = {
          _M_nxt = 0x000055555556e2b0
        }
        _M_element_count = 1
        _M_rehash_policy = {
          _M_max_load_factor = 1
          _M_next_resize = 13
        }
        _M_single_bucket = nullptr
      }
    }
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

Discussions similaires

  1. Erreur de configuration, a ne rien comprendre
    Par miya dans le forum ASP.NET
    Réponses: 4
    Dernier message: 28/05/2007, 18h05
  2. [log4j][debutant] erreur de configuration
    Par hugo123 dans le forum Logging
    Réponses: 2
    Dernier message: 01/12/2006, 15h50
  3. erreur de configuration
    Par tonton12 dans le forum WebDev
    Réponses: 1
    Dernier message: 29/08/2006, 22h24
  4. [Continuum] Bug ou erreur de configuration ?
    Par elitost dans le forum Intégration Continue
    Réponses: 2
    Dernier message: 16/08/2006, 00h11
  5. [VB.NET] Erreur de configuration
    Par toniolol dans le forum ASP.NET
    Réponses: 2
    Dernier message: 04/12/2005, 12h35

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