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

SL & STL C++ Discussion :

ajout non demandé dans un vector sous visual studio 2008


Sujet :

SL & STL C++

  1. #1
    Membre habitué Avatar de touftouf57
    Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2007
    Messages
    362
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2007
    Messages : 362
    Points : 174
    Points
    174
    Par défaut ajout non demandé dans un vector sous visual studio 2008
    Bonjour à tous

    Je suis en train de développer un jeu RType en mode console.
    Mon problème, que je n'arrive pas localiser, c'est un vector qui s'alimente seul. Tout a coup je me retrouve avec 250 éléments dedans, alors qu'il n'a y eut "réellement" aucune insertion. Et le nombre d'insertions est très variable (250, 568, 422,359...).
    Par contre quand je l'exécute en débug, avec des points d'arrêts dès le départ, tout est ok.
    Je me demande si le problème ne vient pas de visual studio.

    Quelqu'un a-t-il déjà eut ce problème?

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


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

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 919
    Points : 220 492
    Points
    220 492
    Billets dans le blog
    127
    Par défaut
    Bonjour,

    EN mode release, les informations de debugguage peuvent être erronées.

    Maintenant, vous pouvez aussi avoir une corruption de mémoire.

    Un truc que vous pouvez faire, c'est de mettre le breakpoint dans la fonction push_back du vector. Sinon, je me demande comment vous vérifiez et ce que vous vérifiez?

  3. #3
    Membre habitué Avatar de touftouf57
    Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2007
    Messages
    362
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2007
    Messages : 362
    Points : 174
    Points
    174
    Par défaut
    Et bien c'est exactement ce que j'avais fait: mettre un point d'arrêt sur le push_back de vector. Mais comme je l'ai dit, avec des points d'arrêts, je n'avais aucun problème. Et quand je le lançais normalement avec un "traceur". Ça plantait.

    Je me suis débrouillé autrement.
    Mais bon ce problème restera inexpliqué pour moi.

  4. #4
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Je partage l'avis de LittleWhite : ça sent la corruption mémoire ailleurs dans ton logiciel avec cet effet de bord sur ton vecteur.

Discussions similaires

  1. Réponses: 6
    Dernier message: 06/01/2019, 00h25
  2. Réponses: 2
    Dernier message: 11/06/2015, 22h48
  3. [SP-2010] Notion d'attente dans un Workflow sous Visual Studio
    Par blasil64 dans le forum SharePoint
    Réponses: 0
    Dernier message: 07/11/2011, 18h49
  4. Réponses: 1
    Dernier message: 18/04/2011, 18h21
  5. Réponses: 1
    Dernier message: 29/06/2009, 12h11

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