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

GTK+ avec C & C++ Discussion :

[c++] threads profiling


Sujet :

GTK+ avec C & C++

  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 506
    Par défaut [c++] threads profiling
    Bonjour,

    J'ai une application en Gtkmm / C++, et je fais actuellement joujou avec des threads. En théorie, j'évite toute intéraction entre mes threads et le thread graphique Gtk, mais il semble qu'en pratique, mon thread graphique soit freezé

    Je me demandais, existe-t-il un profiler sous linux (bon je prend aussi sous windows s'il n'y a que là) qui puisse m'indiquer à quel endroit le thread graphiqye est bloqué, par exemple en listant tous les événements graphiques qui arrivent, et surtout le dernier avant le blocage ?

    Merci

  2. #2
    Membre expérimenté

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

    sous Linux il y a gprof, il faut compiler et linker (tout les deux !!) le program avec -pg et en suit lancer le program et travailler comme tu as besoin de tester. Le fichier "gmot.out" est cree, bon, et a la fin tu lance "gprof 'ton prog' gmon.out" ou bien "gprof 'ton prog' gmon.out > result.txt" pour voir le contenu.

    Bonne chance, Fredy

    http://www.cs.utah.edu/dept/old/texinfo/as/gprof.html

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 506
    Par défaut
    gprof te donne la liste de tous les événements graphiques ? Je l'avais très brièvement utilisé il y a quelque temps, je vais réessayer ...

    Merci

  4. #4
    Membre Expert
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 259
    Par défaut
    Ca ressemble quand même à une mauvaise utilisation de gtk+ dans un contxte multithread ce que tu décris Peut être que gdb peut te donner une idée de où ton thread est bloqué (thread apply all bt).

  5. #5
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 506
    Par défaut
    oui ça ressemblait complètement à ça, d'ailleurs c'était bien ça En fait, dans une méthode, je lance un thread qui va effectuer un petit traitement (un glib thread) , et juste derrière le lancement du thread, je fais (c'est moooche) une petite attente active dans laquelle j'appelle un Gtk::Main::iteration pour rafraichir la pile graphique et laisser passer quelques événements.

    Effectivement, le process Gtk principal semblait bloqué, et en protégeant l'itération par les thread_enter et thread_leave, c'est bon. Ce qui m'étonne, c'est que je suis dans le thread principal quand j'appelle l'itération, donc selon moi (arf) je n'ai pas besoin de protéger l'appel

    Sinon, je teste Gprof avec le linux tool d'eclipse, je reviens pour les nouvelles

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

Discussions similaires

  1. Tri multi-threadé
    Par Tifauv' dans le forum C
    Réponses: 8
    Dernier message: 28/06/2007, 09h00
  2. [PROFILER][THREAD][java.prof] outil gratuit/complet?
    Par narmataru dans le forum Général Java
    Réponses: 11
    Dernier message: 16/11/2005, 12h28
  3. Programmer des threads
    Par haypo dans le forum C
    Réponses: 6
    Dernier message: 02/07/2002, 13h53
  4. Réponses: 5
    Dernier message: 12/06/2002, 15h12
  5. [Kylix] Pb de Thread !!
    Par Anonymous dans le forum EDI
    Réponses: 1
    Dernier message: 25/04/2002, 13h53

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