[C] SIGSEGV
Fermé
next
Messages postés
42
Date d'inscription
mercredi 15 août 2007
Statut
Membre
Dernière intervention
6 septembre 2009
-
8 mai 2008 à 03:02
next Messages postés 42 Date d'inscription mercredi 15 août 2007 Statut Membre Dernière intervention 6 septembre 2009 - 8 mai 2008 à 13:01
next Messages postés 42 Date d'inscription mercredi 15 août 2007 Statut Membre Dernière intervention 6 septembre 2009 - 8 mai 2008 à 13:01
3 réponses
Le segfault arrive lorsque tu essaies d'écrire sur une zone mémoire sur laquelle tu n'as pas les droits.
Par exemple si tu alloues un tableau de taille 10 et que tu écris un mot de taille inférieure ou égale, tu n'auras pas de problème.
Si par contre tu essaie d'écrire un mot de taille supérieure dans ce tableau, alors tu vas rencontrer un segfault.
As-tu des arguments à passer à ton programme? Si oui, alors c'est sûrement eux qui génèrent des segfault s'ils ne "conviennent pas".
Par exemple si tu alloues un tableau de taille 10 et que tu écris un mot de taille inférieure ou égale, tu n'auras pas de problème.
Si par contre tu essaie d'écrire un mot de taille supérieure dans ce tableau, alors tu vas rencontrer un segfault.
As-tu des arguments à passer à ton programme? Si oui, alors c'est sûrement eux qui génèrent des segfault s'ils ne "conviennent pas".
Bonjour.
Alors les bases :
1.Orthographe
2. Syntaxe/Rédaction
3.Ponctuation
Actuellement on a un post en un bloque sans ponctuation bourré de faute un peu dénué de sens et c'est à nous de décrypter. Alors si tu veux une réponse pertinente, il va falloir faire un effort.
Le problème :
Ça peut venir de plein de raison différente, et c'est pour ça qu'il détailler au max. Se pointer et dire "Bonsoir mon programme marche pas", on peut rien faire.
Alors la base : SIGSEV est un signal envoyé par ton système par ton programme lorsque celui déconne sévère : s'il lit où tente d'écrire là ou il n'a pas le droit, le système le tue en lui envoyant le signal SIGSEGV : Segmentation Violation, ou Segmention fault plus couramment.
Ce programme, est-ce toi qui l'a codé ? Dire qu'il fait toujours la même chose ne nous aide pas trop, et ce n'est pas parce qu'il fait toujours la même chose qu'il fait toujours quelque chose de bien.
Dans tous les cas, le problème vient du programme.
Si tu n'est pas programmeur et que ce n'est pas toi qui l'a codé, tu ne peux de toute façon pas empêcher le programme de segfautler : il a un dysfonctionnement, et 'le système le tueras.
Si tu connais la personne qui l'a programmé, met lui quelques coups de pieds aux fesse et signale-le lui.
Et si c'est toi qui l'a codé, installe gdb, cherche des tutos sur internet, regarde où ça segfault et corrige.
Voila.
Alors les bases :
1.Orthographe
2. Syntaxe/Rédaction
3.Ponctuation
Actuellement on a un post en un bloque sans ponctuation bourré de faute un peu dénué de sens et c'est à nous de décrypter. Alors si tu veux une réponse pertinente, il va falloir faire un effort.
Le problème :
Ça peut venir de plein de raison différente, et c'est pour ça qu'il détailler au max. Se pointer et dire "Bonsoir mon programme marche pas", on peut rien faire.
Alors la base : SIGSEV est un signal envoyé par ton système par ton programme lorsque celui déconne sévère : s'il lit où tente d'écrire là ou il n'a pas le droit, le système le tue en lui envoyant le signal SIGSEGV : Segmentation Violation, ou Segmention fault plus couramment.
Ce programme, est-ce toi qui l'a codé ? Dire qu'il fait toujours la même chose ne nous aide pas trop, et ce n'est pas parce qu'il fait toujours la même chose qu'il fait toujours quelque chose de bien.
Dans tous les cas, le problème vient du programme.
Si tu n'est pas programmeur et que ce n'est pas toi qui l'a codé, tu ne peux de toute façon pas empêcher le programme de segfautler : il a un dysfonctionnement, et 'le système le tueras.
Si tu connais la personne qui l'a programmé, met lui quelques coups de pieds aux fesse et signale-le lui.
Et si c'est toi qui l'a codé, installe gdb, cherche des tutos sur internet, regarde où ça segfault et corrige.
Voila.
next
Messages postés
42
Date d'inscription
mercredi 15 août 2007
Statut
Membre
Dernière intervention
6 septembre 2009
1
8 mai 2008 à 13:01
8 mai 2008 à 13:01
tu prend la tête parce que, franchement mettre 3 printf(); dans une appli pour moi ça c'est faire tjr la meme chose et ça cause pas de signal sigsev. J'ai posé une simple question et sa prend des proportions énormes. tcho
next
Messages postés
42
Date d'inscription
mercredi 15 août 2007
Statut
Membre
Dernière intervention
6 septembre 2009
1
8 mai 2008 à 03:29
8 mai 2008 à 03:29
ba justement je lui passe rien du tout. il fait juste appel a deux fonctions rien de plus.