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

wxWidgets Discussion :

Erreurs X Window


Sujet :

wxWidgets

  1. #1
    Membre confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2002
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 137
    Points : 621
    Points
    621
    Par défaut Erreurs X Window
    Bonjour/Bonsoir

    Voila, je suis en train d'écrire une application en wx sous Linux (destinée a etre portée sur mac et msw) et depuis que j'ai rajouté quelques grains de sel à la sauce histoire de me compliquer la tache, je vois parfois une erreur qui ne m'aide pas beaucoup ....

    The program 'xpe' received an X Window System error.
    This probably reflects a bug in the program.
    The error was 'BadValue (integer parameter out of range for operation)'.
    (Details: serial 10323 error_code 2 request_code 53 minor_code 0)
    (Note to programmers: normally, X errors are reported asynchronously;
    that is, you will receive the error a while after causing it.
    To debug your program, run it with the --sync command line
    option to change this behavior. You can then get a meaningful
    backtrace from your debugger if you break on the gdk_x_error() function.)
    Cette fois la ca a été cette erreur la mais le serial et autres varient suivant les cas. La premiere que j'ai eue etait due a des contraintes à 0, mais j'ai vraiement trouvé la source par hasard.


    Est-ce que quelqu'un saurrait me dire ou trouver de la documentation sur ces erreurs ( j'ai bien demandé a google mais il n'a pas voulu etre mon ami :-( ) ?

    Deuxieme question : comment faire pour suivre leur conseil "You can then get a meaningful backtrace from your debugger if you break on the gdk_x_error() function." ??? Personnellement, je lance tout cela a partir de KDevelop (ce qui doit largement limiter mes possibilités, mais je ne suis pas un pro de GDB)


    Voila, donc si vous avez réponse a l'une de ces deux question, je vous en serait bien reconnaissant ^^

    Merci d'avance !

  2. #2
    Membre confirmé Avatar de Tchetch
    Inscrit en
    Mars 2002
    Messages
    401
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2002
    Messages : 401
    Points : 477
    Points
    477
    Par défaut
    Salut,

    Pour backtrace, c'est assez simple, il suffit de compiler ton programme avec l'option -g sur gcc (ou g++), ensuite tu lances ton programmes avec gdb et quand il plante tu fait un bt, il te montrera ainsi toute la pile des appels de fonctions.

    T.
    Mon wiki (on y parle Debian principalement) : http://www.tchetch.net/

  3. #3
    Membre confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2002
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 137
    Points : 621
    Points
    621
    Par défaut
    J'utilise déjà GDB avec KDevelop, mais en fait quand il y a une erreur X11, ca n'est malheureusement pas intercepté comme ca le ferait avec un seg-fault ou autre truc du genre. Mon probleme est donc bien de placer un point d'arret dans la fonction "gdk_x_error" pour voir ou j'étais quand une erreur se produit.

  4. #4
    Membre confirmé Avatar de Tchetch
    Inscrit en
    Mars 2002
    Messages
    401
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2002
    Messages : 401
    Points : 477
    Points
    477
    Par défaut
    Dans le message d'erreur il demande d'utiliser l'option --sync pour le debug. Cela ne fonctionne pas ?
    Mon wiki (on y parle Debian principalement) : http://www.tchetch.net/

  5. #5
    Membre confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2002
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 137
    Points : 621
    Points
    621
    Par défaut
    Non, ca ne change rien du tout.
    Par contre, je pense que si j'avais le point d'arret dans la fonction sus-nommée, ca me permettrait de voir toute la pile et non pas un bout de pile threadée

  6. #6
    Membre confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2002
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 137
    Points : 621
    Points
    621
    Par défaut
    a priori, dans GDB, pour ajouter un point d'arret sur une fonction, c'est tout simple :

    ce qui revient a faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    gdb monexecutable                    démarre GDB en lui indiquant quel prog débugger
    ...
    break gdk_x_error                    ajoute un point d'arret dur le symbole gdk_x_error
    ...
    run                                  lance le programme
    ...
    malheureusement, dans mon cas, il me dit qu'il ne trouve pas la fonction gdk_x_error

  7. #7
    Membre confirmé Avatar de Tchetch
    Inscrit en
    Mars 2002
    Messages
    401
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2002
    Messages : 401
    Points : 477
    Points
    477
    Par défaut
    Peut-être que tes librairies n'ont pas les symboles de debug. Pour installer, par exemple, x11 sur debian avec les symboles :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    apt-get install libx11-6-dbg
    Mon wiki (on y parle Debian principalement) : http://www.tchetch.net/

  8. #8
    Membre confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2002
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 137
    Points : 621
    Points
    621
    Par défaut
    pour ma part, j'utilise gentoo, j'ai donc recompilé GTK avec le "DEBUG" mais ca n'aide pas plus

Discussions similaires

  1. [Video] Message d'erreur de Windows Media Player
    Par The_FD dans le forum Vidéo
    Réponses: 2
    Dernier message: 29/01/2007, 14h25
  2. [mono] Compilation sous linux, erreur dans windows
    Par AlexandreP dans le forum Mono
    Réponses: 6
    Dernier message: 18/08/2006, 19h56
  3. comment exploiter les codes d'erreurs sous windows xp?
    Par lejum2005 dans le forum Windows XP
    Réponses: 4
    Dernier message: 03/03/2006, 17h26
  4. Erreur fichier"\windows\system32\config\system" in
    Par mzt.insat dans le forum Windows XP
    Réponses: 3
    Dernier message: 22/02/2006, 10h30
  5. Personnaliser un rapport d'erreur sous Windows XP
    Par Neilos dans le forum Windows
    Réponses: 5
    Dernier message: 21/11/2003, 18h13

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