Partage
  • Partager sur Facebook
  • Partager sur Twitter

débogueur fou ?

Sujet résolu
    16 août 2007 à 11:55:41

    salut,

    hier je compile un programme résultat => il marche nickel tout va bien rien à dire
    aujourd'hui je recompile ce programme sans rien toucher résultat => bug bug et rebug partout

    c'est normal ça ? ça vous aie déjà arrivé ou mon compilo remarque des erreurs de segmentation durant la nuit ?

    pis le pire c'est après quand je crée une erreur volontairement qu'il me la signal que je la résoud et que je relance certaines erreurs ont disparu o_O

    y a de quoi devenir fou

    y a aps quelqu'un qui aurait été confronté à la même chose ? histoire de me dire que je suis pas le seul

    mon IDE = Dev-C++

    icare
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      16 août 2007 à 12:57:05

      l'erreur est a la ligne 57 du fichier ilestoulecode.cpp
      • Partager sur Facebook
      • Partager sur Twitter
        16 août 2007 à 13:28:47

        Citation : Icare14

        c'est normal ça ?


        Evidemment que non...

        Mais tu veux qu'on y fasse quoi avec ce que tu nous donnes come info...
        • Partager sur Facebook
        • Partager sur Twitter
        Co-auteur du cours de C++. ||| Posez vos questions sur le forum ||| Me contacter.
          16 août 2007 à 15:26:58

          Ce genre d'erreurs "folles" sont en générales celles ci :

          - Tu as mal initialisé un tableau : tu peux avoir des valeurs aléatoires dedans.
          - tu as débiordé : par exemple, un tableau int tab[6] (donc de 0 à 5, et tu as écrit dans l'élément tab[6] -> débordement)

          Un débordement, c'est abominable : selon l'endroit ou le programme va ranger le tableau dans le segment, ça va planter ou pas :
          si ton tableau est au bord d'un segment, alors le débordement fera changer de segment -> si ce segment n'est pas alloué au programme, c'est une segmentation fault. (cas 1)
          Si le tableau est écrit au début ou au milieu du segment, alors le débordement reste dans le segment -> pas de segment fault, mais des données écrites dehors, et peut etre a des endroits ou sont d'autres variables : écrasement mémoire, valeurs "folles", du bonheur... (cas 2)

          Si tu rajoutes ou enleves une instruction, ça pourra planter si ça ne plantait pas, ou vice versa (et vice et versa !! etre ou ne pas etre telle est la question, sinusoidale de l'anachorete...) bref, restons sérieux.
          En effet, la ligne de code rajoutée pourra juste décaler ou non l'écriture des données en mémoire, ce qui rapprochera ou éloignera le tableau débordant du bord du segment : tu passeras ainsi du cas 2 au cas 1, ou vice versa...

          Mon conseil : vérifie tes tableaux : vérifie qu'ils sont bien initialisés a 0, vérifie les débordements...
          • Partager sur Facebook
          • Partager sur Twitter

          Recueil de code C et C++  http://fvirtman.free.fr/recueil/index.html

            16 août 2007 à 15:39:21

            ok je vais vérifier nanoc et davidbrcz je demandais pas que vous trouviez l'erreur je demandais juste si 4a vous était déjà arrivé ^^
            • Partager sur Facebook
            • Partager sur Twitter
              16 août 2007 à 22:40:20

              Typique d'une mauvaise gestion de la mémoire ; cf la réponse de Fvirtman
              • Partager sur Facebook
              • Partager sur Twitter
              C++: Blog|FAQ C++ dvpz|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS| Bons livres sur le C++| PS: Je ne réponds pas aux questions techniques par MP.

              débogueur fou ?

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown