p
u
b
l
i
c
i
t
é
publicité
  1. #1
    Invité régulier
    Inscrit en
    novembre 2012
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : novembre 2012
    Messages : 18
    Points : 5
    Points
    5

    Par défaut Exception en point flottant (core dumped)

    Bonjour,

    J'ai une erreur qui ne fait pas crash mon programme mais qui m'embête quand même, je n'aime pas les affichage d'erreur.

    Il semblerait que ca vienne de mes 2 fonctions suivantes mais je ne divise nul part par 0 et je n'ai aucune variable en float...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    /* Les prototypes de mes structures */
     
    typedef enum {Haut, Bas, Droite, Gauche} te_Direction;
    typedef enum {Vide, Ver, Plante} te_Nourriture;
    typedef enum {Rien, Petit, Moyen, Plein, Pierre} te_Etatterre;
    typedef enum {Male, Femelle} te_Sexe;
    typedef enum {Adulte, Jeune} te_Age;
    typedef struct {te_Nourriture Nourriture; int ptNourriture; te_Etatterre eEtatterre; int eTaupes;} t_motte;
    typedef struct {int ePosX; int ePosY; int eSante; te_Sexe Sexe; te_Age Age; int eGestation; int eDelaiGrossesse; } t_rattaupes;
     
    /* Mes fonctions */
     
    void Envoyer_pRattaupe(t_liste* pRattaupe, int32_t eNombreJoueurIncremente, SOCKET* csock){
    	int32_t eNombreRattaupe=0;
    	int32_t epRattaupeContenu[7];
    	t_rattaupes Rattaupe;
     
    	en_tete(pRattaupe);
    	while(!hors_liste(pRattaupe)){
    		eNombreRattaupe++;
    		suivant(pRattaupe);
    	}
     
    	/* Envoie de la structure pRattaupe */
    	eNombreRattaupe= htonl(eNombreRattaupe);
    	send(csock[eNombreJoueurIncremente], (char const*)&eNombreRattaupe, sizeof(eNombreRattaupe), 0);
    	en_queue(pRattaupe);
    	while(!hors_liste(pRattaupe)){
    		valeur_elt(pRattaupe,&Rattaupe);
    		epRattaupeContenu[0]=htonl(Rattaupe.ePosX);
    		epRattaupeContenu[1]=htonl(Rattaupe.ePosY);
    		epRattaupeContenu[2]=htonl(Rattaupe.eSante);
    		epRattaupeContenu[3]=htonl(Rattaupe.Sexe);
    		epRattaupeContenu[4]=htonl(Rattaupe.Age);
    		epRattaupeContenu[5]=htonl(Rattaupe.eGestation);
    		epRattaupeContenu[6]=htonl(Rattaupe.eDelaiGrossesse);
    		send(csock[eNombreJoueurIncremente], (char const*)epRattaupeContenu, sizeof(epRattaupeContenu), 0);
    		precedent(pRattaupe);
    	}
    }
     
    void Envoyer_pMotte(t_motte** pMotte, int eNombreJoueur, int32_t eNombreJoueurPosition, int32_t eTour, SOCKET* csock){
    	int eLigne, eColonne;
    	int eNombreJoueurIncremente;
    	int32_t epMotteContenu[4];
    	int32_t eNombreJoueurPositiontemp = htonl(eNombreJoueurPosition);
    	int32_t eTourtemp = htonl(eTour);
     
    	/* Envoie de la structure pMotte */
    	for(eNombreJoueurIncremente=1;eNombreJoueurIncremente<eNombreJoueur;eNombreJoueurIncremente++){
    		for(eLigne=1;eLigne<elmax-1;eLigne++){
    			for(eColonne=1;eColonne<ecmax-1;eColonne++){
    				epMotteContenu[0]=htonl(pMotte[eLigne][eColonne].Nourriture);
    				epMotteContenu[1]=htonl(pMotte[eLigne][eColonne].ptNourriture);
    				epMotteContenu[2]=htonl(pMotte[eLigne][eColonne].eEtatterre);
    				epMotteContenu[3]=htonl(pMotte[eLigne][eColonne].eTaupes);
    				send(csock[eNombreJoueurIncremente], (char const*)epMotteContenu, sizeof(epMotteContenu), 0);
    			}
    		}
    		send(csock[eNombreJoueurIncremente], (char const*)&eNombreJoueurPositiontemp, sizeof(eNombreJoueurPositiontemp), 0);
    		send(csock[eNombreJoueurIncremente], (char const*)&eTourtemp, sizeof(eTourtemp), 0);
    	}
     
    }
    merci d'avance

  2. #2
    Invité régulier
    Inscrit en
    novembre 2012
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : novembre 2012
    Messages : 18
    Points : 5
    Points
    5

    Par défaut

    Ok, j'avais
    Program received signal SIGFPE, Arithmetic exception.
    0x0804a3d3 in eHasard (tmin=0, tmax=0) at outils.c:140
    140 return rand()%(tmax-tmin)+tmin;
    Après vérification rien n'envoie de tmax ==0 j'ai même un assert pour seulement apparament ca arrive que si je quitte le client alors que le serveur est encore ouvert.
    DOnc j'ai fait si tmax==0, tmax++;
    et j'obtiens :

    Program received signal SIGPIPE, Broken pipe.
    0xb7fdd424 in __kernel_vsyscall ()
    Sympa x)
    Je vais regarder ca de plus prêt

    Un moyen de prévenir ce bug ?

  3. #3
    Invité régulier
    Inscrit en
    novembre 2012
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : novembre 2012
    Messages : 18
    Points : 5
    Points
    5

    Par défaut

    Bon problème résolu, la reception de la pipe indique juste que le client a fermé la connexion.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. ORA-07445: exception encountered: core dump [] [] [] [] [] []
    Par smaildba dans le forum Administration
    Réponses: 1
    Dernier message: 03/04/2009, 16h10
  2. (debutant) Core Dumped ?
    Par pouic06 dans le forum Débuter
    Réponses: 8
    Dernier message: 09/11/2008, 13h01
  3. Comment générer un core dump en c
    Par gege2061 dans le forum Linux
    Réponses: 3
    Dernier message: 12/11/2006, 15h33
  4. Problème de Core Dumped !
    Par KneXtasY dans le forum C
    Réponses: 8
    Dernier message: 24/12/2005, 13h11
  5. Segmentation fault (core dumped)
    Par Battosaiii dans le forum C
    Réponses: 13
    Dernier message: 25/11/2005, 18h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo