IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

erreur de segmentation


Sujet :

C++

  1. #1
    Membre confirmé Avatar de transistor49
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2005
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 184
    Par défaut erreur de segmentation
    Bonjour,
    j'ai fini de programmer une classe mais j'ai des erreur de segmentation!!!
    sur les lignes suivante car j'ai réussi a voir ou elle bloquait!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this->adrMacSrc = QString (ether_ntoa ((const struct ether_addr* )ether->ether_shost));
    ainsi qu'a:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	this->longueurPaquet = htons (ip_info->ip_len);
    et les erreur de segmentation sont assez difficile a corriger!!!!!
    merci

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 130
    Par défaut
    Bah erreur de segmentation, ça vient pas de tes pointeurs qui sont NULL ?

  3. #3
    Membre confirmé Avatar de transistor49
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2005
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 184
    Par défaut
    c'est bien se que je me suis dit mais quand je leur donne des valeur, il plante!
    en faite c'est dans le testeur le probleme car il faut que je passe une valeur dans le constructeur, en const u_char mais il n'en veut pas!!!!!!!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    	//Construction de la classe à tester
    	const u_char * packet = "0f0a202100de";
        cout << "Construction de l'instance de classe (objet) TrameEthernet" << endl;
        TrameEthernet *trameethernet = new TrameEthernet(packet);

  4. #4
    mat.M
    Invité(e)
    Par défaut
    const u_char * packet = "0f0a202100de";
    le fait d'utiliser u_char me chagrine un peu ; est-ce qu'il faut passer une chaîne de caractêres ?
    Vérifier si au bout de la chaîne il y ait le code \0

  5. #5
    Membre confirmé Avatar de transistor49
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2005
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 184
    Par défaut
    Il n'y a pas besoin de \0, ce qui sera censer etre dedans sont des trames éthernet!!!!
    et je doit dire que se genre d'erreur me prenne la tete! c'e'st pour un projet informatique, J'essaie de comprendre se que je fait! mais quand je crois avoir réussi et compris quelque chose, sa ne marche pas! nous n'avons aucune aide et des connaissance de base, mais les base pas plus!!!

  6. #6
    mat.M
    Invité(e)
    Par défaut
    Il n'y a pas besoin de \0, ce qui sera censer etre dedans sont des trames éthernet!!!!
    Sorry l'ami mais sans le code terminateur \0 , une chaîne de caractêre ça fait planter strcpy ou strcat en C....
    Et const u_char pour moi c'est pour gérer des chaînes de caractêres puisque tu ouvres les côtes

  7. #7
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Sorry l'ami mais sans le code terminateur \0 , une chaîne de caractêre ça fait planter strcpy ou strcat en C....
    Bah, s'il se contente de transferer ses octets via des sockets il n'aura pas besoin d'un 0, la taille des données étant ce qui sert de délimiteur.

    j'ai fini de programmer une classe mais j'ai des erreur de segmentation!!!
    sur les lignes suivante car j'ai réussi a voir ou elle bloquait!
    Et que dit le debugger ?

  8. #8
    Membre confirmé Avatar de transistor49
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2005
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 184
    Par défaut
    ceci est mon main contenu dans le testeur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    	//Construction de la classe à tester
    	u_char * packet;
    	strcpy (packet,"af0ae5\0");
        cout << "Construction de l'instance de classe (objet) TrameEthernet" << endl;
        TrameEthernet *trameethernet = new TrameEthernet(packet);
    l'erreur se trouve a :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	strcpy (packet,"af0ae5\0");
    l'erreur etant:

    invalid converion from `u_char*' to `char*'

  9. #9
    Membre expérimenté Avatar de BertrandA
    Inscrit en
    Août 2003
    Messages
    170
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 170
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    u_char * packet; 
    strcpy (packet,"af0ae5\0");
    Pointeur non initialisé, mémoire pas allouée, problème de cast.
    La routine quoi.
    Et surtout les bases du langage C.

  10. #10
    Membre confirmé Avatar de transistor49
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2005
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 184
    Par défaut
    Quelle est donc mon probleme, car il faut savoir, que je ne suis pas seul dans se problème!

  11. #11
    Membre Expert
    Avatar de Ti-R
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2003
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 683
    Par défaut
    Citation Envoyé par BertrandA
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    u_char * packet; 
    strcpy (packet,"af0ae5\0");
    Pointeur non initialisé, mémoire pas allouée, problème de cast.
    La routine quoi.
    Et surtout les bases du langage C.
    transistor49 relis le message à BertrandA... toutes les solutions sont dedans...

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

Discussions similaires

  1. Gcc scanf et erreur de segmentation
    Par titor dans le forum C
    Réponses: 1
    Dernier message: 27/10/2005, 19h27
  2. Erreurs de segmentation !
    Par anti-conformiste dans le forum Applications et environnements graphiques
    Réponses: 16
    Dernier message: 18/10/2005, 11h11
  3. Erreur de segmentation
    Par Trunks dans le forum C
    Réponses: 3
    Dernier message: 06/10/2005, 18h28
  4. Erreur de segmentation (Inconnue)
    Par Dark-Meteor dans le forum C
    Réponses: 5
    Dernier message: 08/09/2005, 13h42
  5. [Dev-C++] Erreur de segmentation...
    Par sas dans le forum Dev-C++
    Réponses: 11
    Dernier message: 26/03/2005, 14h25

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