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++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2009
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 53
    Par défaut erreur de segmentation
    Salut à tous,
    Mon algorithme en c++ compile bien mais lors de l exécution il me gènére une erreur de segmentation. est ce que quelqu'un a déjà rencontré ce type de message ?
    Merci .

  2. #2
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    A peu près 100% des développeurs C/C++ l'ont déjà vue, cette erreur, t'inquiète pas...

    Tu as dû déréférencer un pointeur non-initialisé, ou taper "trop loin" après une structure ou un container (aller au delà de sa taille). Mais bon, sans le code et la ligne indiquée pour l'erreur, difficile d'être plus précis.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  3. #3
    Membre Expert Avatar de jabbounet
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2009
    Messages
    1 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 909
    Par défaut
    oui clair qu'entre celle là et les autre memory fault , bus error, ...

    petite aide pour trouver la cause de l'erreur

    http://www.cmi.univ-mrs.fr/~contensi...=env&page=deb5

  4. #4
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par défaut
    Salut,

    L'erreur de segmentation est sans doute une des erreurs les plus courantes à l'exécution.

    Elle survient généralement de manière aléatoire parce que, à un moment, tu essaye d'aller "chipoter" à une adresse mémoire qui n'est plus utilisée dans le contexte où tu essaye d'y accéder.

    Le plus souvent, elle est due:
    • à un pointeur détruit non remis à zéro,
    • à un pointeur NULL non testé,
    • à une tentative d'accès au Nieme élément d'une collection qui n'en contient que maximum N-1,
    • à une tentative d'accès à un objet pointé par un pointeur qui n'a pas été correctement initialisé (à NULL s'il pointe vers un objet inexistant ou à une valeur correspondant réellement à l'adresse à laquelle se trouve un objet du type adéquat).
    Comme tu peux le remarquer, son origine est très souvent un pointeur

    Mais, au delà de cela, il faudrait au moins une partie du code pour arriver à en déterminer la cause.

    Le plus embêtant de l'histoire, c'est que l'erreur qui finit par provoquer la faute de segmentation est parfois très éloignée du point où elle apparait
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  5. #5
    Membre averti
    Inscrit en
    Mai 2009
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 53
    Par défaut
    Merci pour vos réponses, je vais revoir tous les pointeurs de mon code et les containers, et essayer la solution de jabbounet. sinon j envoyerai mon code.

  6. #6
    Membre expérimenté

    Inscrit en
    Mai 2005
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 132
    Par défaut
    Salut,

    bon idee est aussi lancer ton program sous debuger

    (ou bien ... utiliser "memory checker" comme valgrind etc. mais c'est plus difficile et c'est la solution seulement pour linux).

    Fredy

  7. #7
    Membre averti
    Inscrit en
    Mai 2009
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 53
    Par défaut
    j'ai lancé mon programme avec gdb comme suit :
    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
    anne@anne-desktop:~/Bureau/paradiseo-1.2.1/paradiseo-eo/build/tutorial/FeatureSelection2$ gdb ./FeatureSelectionEA 
    GNU gdb 6.6-debian
    Copyright (C) 2006 Free Software Foundation, Inc.
    GDB is free software, covered by the GNU General Public License, and you are
    welcome to change it and/or distribute copies of it under certain conditions.
    Type "show copying" to see the conditions.
    There is absolutely no warranty for GDB.  Type "show warranty" for details.
    This GDB was configured as "i486-linux-gnu"...
    Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".
    (gdb) run
    Starting program: /home/anne/Bureau/paradiseo-1.2.1/paradiseo-eo/build/tutorial/FeatureSelection2/FeatureSelectionEA 
    Loading model from file ...
    No such file or directory
     
    Program exited with code 01.
    (gdb) run
    Starting program: /home/anne/Bureau/paradiseo-1.2.1/paradiseo-eo/build/tutorial/FeatureSelection2/FeatureSelectionEA 
    Loading model from file ...
    No such file or directory
     
    Program exited with code 01.
    je ne sais pas j'arrive toujours pas à cerner l erreur?
    Fredy Kruger est ce que vous pouvez m'expliquer svp comment je peux utiliser "memory checker parce que je suis sous lunix? Merci

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

Discussions similaires

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

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