A voir également:
- Scanf segmentation fault (core dumped)
- Open core legacy patcher - Accueil - MacOS
- Core temp - Télécharger - Divers Utilitaires
- Erreur de segmentation (core dumped) ✓ - Forum C
- Segmentation fault(core dumped ) avec gmp ✓ - Forum C
- Dual core vs i5 ✓ - Forum Processeur
5 réponses
je vais te donner un exemple :
tu fais une fonction qui calcule l'aire d'un triangle
double aire(double B,double h) { return B*h/2;}
Afin de savoir si ta fonction est bien codée, tu essayes pour des valeurs de B e h et tu regardes la valeur renvoyée par ta fonction.
aire(1,1); aire(1,3);
aire(-1,5) -> mauvais, tu obtiens une valeur négative
Donc il faut que tu corriges :
double aire(double B,double h)
{
assert(B>0. && h>0.);
return B*h/2;
}
Plus compliqué : si ta fonctin contient des if...then...else, il faut que tu testes tous les cas.
Un segmentation fault provient très généralement d'un pointeur...
tu fais une fonction qui calcule l'aire d'un triangle
double aire(double B,double h) { return B*h/2;}
Afin de savoir si ta fonction est bien codée, tu essayes pour des valeurs de B e h et tu regardes la valeur renvoyée par ta fonction.
aire(1,1); aire(1,3);
aire(-1,5) -> mauvais, tu obtiens une valeur négative
Donc il faut que tu corriges :
double aire(double B,double h)
{
assert(B>0. && h>0.);
return B*h/2;
}
Plus compliqué : si ta fonctin contient des if...then...else, il faut que tu testes tous les cas.
Un segmentation fault provient très généralement d'un pointeur...
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
15 avril 2005 à 11:57
15 avril 2005 à 11:57
Donne les parties concernée de ton code pour voir,
++
++
ouf!! ça sera dur pour que tu le comprennes c trop long et en plus la variable est utilisé dans plusieurs fonctions et je sais pas exact à quel niveau se trouve l'erreur. on vient de me dire de faire un débogage pour voir exact l'emplacement de l'erreur; mais pas de résultat y a une fenetre qui me dit "segmantation fault"
ouf!! ça sera dur pour que tu le comprennes c trop long et en plus la variable est utilisé dans plusieurs fonctions et je sais pas exact à quel niveau se trouve l'erreur. on vient de me dire de faire un débogage pour voir exact l'emplacement de l'erreur; mais pas de résultat y a une fenetre qui me dit "segmantation fault"
Enfin si tu n'affiches pas ton code (ou une partie) on ne pourra rien faire.
Affiche les valeurs une par une, fonction par fonction.
As-tu vérifié toutes tes fonctions ? As-tu fait un jeu de test qui prend en compte tous les cas ?
Un segmentation fault peut aussi provenir d'une erreur de pointeur...
Bonne chance !
Affiche les valeurs une par une, fonction par fonction.
As-tu vérifié toutes tes fonctions ? As-tu fait un jeu de test qui prend en compte tous les cas ?
Un segmentation fault peut aussi provenir d'une erreur de pointeur...
Bonne chance !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
comment faire un jeu de test??
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
15 avril 2005 à 13:33
15 avril 2005 à 13:33
Un jeu de test, c'est à dire faire tourner ton ancienne version du prog avec différents paramètres pour voir les éventuels dépassement de mémoire, les fautes de pointeurs, ...
Ou alors, fait une trace de ton programme tout simplement, en commencant au début, compme ca tu pourra cerner déjà mieux ton erreur
++
Ou alors, fait une trace de ton programme tout simplement, en commencant au début, compme ca tu pourra cerner déjà mieux ton erreur
++