Bonjour, voici mon problème, je développe une application en c++, j'ai un bug à un endroit dans le programme. Le programme ne plante pas mais les résultats sont relativement exotiques...
En fait j'ai fait quelques tests et mon programme ne renvoie pas d'erreur de segmentation, même avec du code qui en toute évidence devraient planter joliment.
Par exemple le code suivant:
me renvoie 1016 en sortie console.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 vector<int> vect (1); cout<<"valeur bidon: "<<vect[-1]<<endl;
De même le code suivant qui devrait aussi générer une jolie erreur de segmentation ne fait absolument pas planter le programme:
En allant un peu plus loin dans mon obstination à générer une erreur de segmentation, j'ai écrit le code suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 int *pointeur, valeur; valeur = 3; *pointeur = valeur * valeur;
Là non plus pas de plantage...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 int *super_pointeur=(int *) 10; int vm =*super_pointeur;
Je précise que j'utilise mingw avec gcc-g++ 4.3.0 sous windows XP. Le comportement est le même en debug (en -w et -pg) et en release ( -O3 et -fexpensive-optimization).
Je ne comprends vraiment pas d'où vient ce comportement pour le moins exotique et j'ai vraiment besoin de savoir d'où vient mon bug (probablement une erreur de segmentation).
Cordialement,
Partager