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

SDL Discussion :

[C++][SDL] Erreur de segmentation


Sujet :

SDL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité4
    Invité(e)
    Par défaut [C++][SDL] Erreur de segmentation
    Bonjour,

    je code un programme c++/sdl sous linux, il se compile et fonctionne bien avec gcc.

    maintenant, j'ai cette source, je la passe au unix2dos pour changer le format des fichiers, je change 2/3 trucs et ça compile sous windows xp avec dev-cpp 5.

    Le problème est que j'ai une belle erreur de segmentation lors de l'exécution de la version windows de l'exécutable.

    Dites-moi existe-t-il un moyen de savoir à quelle ligne dans le source, l'erreur de segmentation se déclenche ?

    Bon je suis utopique, car le truc est compilé donc il n'y a plus de source, mais peut-être existe-t-il une astuce ?

    Merci

  2. #2
    mat.M
    Invité(e)
    Par défaut
    Voir dans la FAQ de SDL et sur leur site libsdl.org mais je crois bien que sous VC++ il faut compiler avec l'option "multithreaded" pour le runtime "C"
    Donc voir s'il ne faut pas faire le même réglage sous Dev C++

    si c'est pas ce probleme là alors c'est un pointeur mal initialisé , sous Unix cela passe et pas sous XP

    Citation Envoyé par Eldacar
    Dites-moi existe-t-il un moyen de savoir à quelle ligne dans le source, l'erreur de segmentation se déclenche ?
    Merci
    Soit faire un log avec fichier texte en "a+t" , soit tracer avec OutputDebugString [API win32] et aller sur www.sysinternals.com il ya un utilitaire qui capte le tracage de OutputDebugString ( DebugView.exe).
    Placer des OutputDebugString la ou cela coince

  3. #3
    Invité4
    Invité(e)
    Par défaut
    hello,
    je vais simplement placer des std::cout << 1 << std:.endl;
    à chaque fois un chiffre différent, ensuite on verra quel est le dernier numéro affiché.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 76
    Par défaut
    tu peux aussi compiler en ajoutant l'option -g à gcc
    ex: gcc -Wall -g mon_programme.c -o mon_programme

    grace a cette option tu pourra ensuite utilisé gdb, qui permet de suivre l'exécution du programme, et... qui t'indique a quelle ligne a eut lieu l'erreur, la valeur des variables à ce moment la, etc...

    par contre je ne sais pas ou on trouve des explication pour gdb. en gros:

    tu fait :

    gdb mon_programme
    run -> lance le programme "dans" gdb
    bt -> affiche la ligne ou a eut lieu l'erreur, et les appel de fonction qui ont mené a cette ligne ainsi que les valeurs passé aux différentes fonctions

  5. #5
    Invité4
    Invité(e)
    Par défaut
    parfait, merci, mais gdb existe aussi pour windows, puisque le problème ne survient que sous windows ?

  6. #6
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Oui, ça existe - c'est le débuggeur intégré à Dev-c++ par exemple -

  7. #7
    Invité4
    Invité(e)
    Par défaut
    ok,merci encore, je vais apprendre à utiliser cet outil.

Discussions similaires

  1. erreur de segmentation dans jeu en C/SDL
    Par talonneur56 dans le forum C
    Réponses: 12
    Dernier message: 09/11/2011, 21h06
  2. erreur de segmentation SDL
    Par skyser dans le forum SDL
    Réponses: 3
    Dernier message: 28/02/2011, 00h55
  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