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
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
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...
× 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.
Recueil de code C et C++ http://fvirtman.free.fr/recueil/index.html