Home Forums Wiki Doc Install Extras Screenshots Source Code Projects Blog Users Groups Register
Glx-Dock / Cairo-Dock Wiki ddd
The latest stable release is the *3.4.0* : How to install it here.
Note: We just switched from BZR to Git on Github! (only to host the code and your future pull requests)
Information : The version displayed on this page is not the latest available.
History View code

Glx-Dock / Cairo-Dock

Home

History

Language

fr Français

en English

Support Us

Flattr this

Cairo-Dockon

ddd

Afin d'aider au maximum les développeurs du projet à fixer rapidement un bug qui fait crasher le dock, le mieux est de sortir un backtrace.

Installation des symboles de debug
  • Pour les utilisateurs d'Ubuntu, il suffit d'ajouter notre ppa Weekly et d'installer ensuite les paquets suivants: cairo-dock-core-dbg libgldi3-dbg cairo-dock-plug-ins-dbg cairo-dock-plug-ins-integration-dbg. Vous pouvez directement utiliser cette commande dans un terminal:
    sudo apt-get install cairo-dock-core-dbg libgldi3-dbg cairo-dock-plug-ins-dbg cairo-dock-plug-ins-integration-dbg
  • Pour les utilisateurs de Debian (et Ubuntu pour ceux qui désirent compiler le dock ou si on vous le demande), la compilation est très simple grâce à un script.
  • Pour les autres distributions, c'est un tout petit peu plus long mais toutes les commandes et explications vous sont données sur la même page => Par BZR N'oubliez pas d'ajouter les symboles de debug en utilisant cette commande CMake :
    cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug
  • Pour les utilisateurs d'ArchLinux, on pourrait croire qu'il suffit simplement d'éditer les PKGBUILD (core et plug-ins) pour y ajouter l'option à CMake. Cependant, ce ne sera pas suffisant, il faudra momentanément enlever l'option "strip" dans /etc/makepkg.conf (OPTIONS=(strip (...))

Le Backtrace
Méthode Graphique
Veuillez noter que si vous vous sentez capable de lancer quelques commandes dans un terminal, il est certainement plus interessant de nous envoyer le backtrace complet. Vous pouvez directement sauter à la section sur GDB ici plus bas.
  • Installez le très léger programme ddd (qui se trouve certainement dans vos dépôts ou autres overlays, etc.)
  • Ensuite, il suffit de lancer Cairo-Dock avec cette commande:
    ddd cairo-dock
    (à lancer depuis un terminal ou depuis le raccourci Alt+F2)
  • Dans DDD, cliquez sur le bouton 'Run' (ou Program / Run ou en utilisant le raccourci clavier 'F2')
  • Enfin, il ne vous reste plus qu'à reproduire le crash puis à déposer sur le forum un lien vers un screenshot de la fenêtre Status/Backtrace de ddd, agrandie si besoin.
http://uppix.net/3/e/9/47e42c4a0400cd58edb366c974e22.png

  • Pour l'upload, il y a des serveurs comme uppix.net, imageshark.us, etc. ou en utilisant l'applet DND2Share (Déposer pour partager)

Méthode dans le terminal
GDB: Il peut être intéressant d'avoir un backtrace plus complet mais vous devrez utiliser le terminal et quelques commandes mais tout est bien expliqué et sans risque
Si vous êtes capable de faire cela, n'hésitez pas à ajouter ces informations au rapport de bug!
Donc... d'abord assurez-vous d'avoir installé le paquet gdb (qui se trouve certainement dans vos dépôts ou autres overlays, etc.). Ensuite, lancez simplement ces commandes et postez le contenu du fichier gdb.txt qui se trouvera dans votre dossier personnel (home)?
cd
gdb cairo-dock
#> vous avez maintenant le prompt de gdb
run
#> Reproduisez simplement le crash
set logging on
l
bt full
#> ensuite pressez la touche Enter jusqu'à arriver à la fin du backtrace
info frame
thread apply all bt full
#> ensuite pressez la touche Enter jusqu'à arriver à la fin du backtrace
quit
Ce fichier a été créé dans votre dossier personnel (home): gdb.txt
Pour l'afficher:
cat ~/gdb.txt


Que faire après?
  • Une fois le bug fixé:
    • Si vous avez installé les paquets Debug (Ubuntu), vous pouvez désinstaller ces paquets qui vous sont maintenant inutiles:
      sudo apt-get purge cairo-dock-core-dbg libgldi3-dbg cairo-dock-plug-ins-dbg cairo-dock-plug-ins-integration-dbg
    • Vous pouvez également retourner à la précédente version mais le bug ne sera pas fixé... . Cependant, si une version stable sort, il est p-ê préférable d'utiliser les paquets de votre distribution afin d'être toujours à jour avec les versions stables.
      • Si vous avez ajouté le dépôt Weekly, vous pouvez le désactiver et éventuellement retourner aux versions précédentes grâce au programme synaptic.
      • Si vous avez compilé le dock via le script, vous pouvez le désinstaller comme ceci:
        cd /opt/cairo-dock_bzr
        ./cairo-dock_bzr.sh
        (option 3 pour la désinstallation - n'oubliez pas de réinstaller le dock en utilisant notre dépôt)
      • Ou pour les autres distribution, utilisez la commande suivante lancée dans les répertoires qui ont servi à la compilation pour désinstaller la version compilée
        # make uninstall
        Puis repassez à une version précédente du dock (réinstallation depuis un dépôt ou autre)
    • Ou continuez à utiliser le dépôt weekly ou à compiler le dock en le mettant a jour (via le script ou via une commande bzr)

Exemple de backtrace avec ddd:
http://uppix.net/8/9/0/81641f4d4072f2ac7681612af0820.png


Un bug uniquement au démarrage?
Il va alors falloir lancer gdb au démarrage en lui indiquant les opérations à exécuter dans un fichier
  • Créez un fichier texte: par exemple, le fichier gdb_commands.txt dans votre dossier personnel
  • Ensuite, ajoutez les instructions pour gdb dans ce fichier afin de démarrer l'application et donner le backtrace en cas de crash. Par exemple:
    echo "r
    set logging on
    l
    bt full
    info frame
    thread apply all bt full
    quit
    y" > ~/gdb_commands.txt
  • Enfin, enlevez temporaire le démarrage automatique de Cairo-Dock (grâce à un outil propre à votre environnement gérant les applications lancées au démarrage) et ajouter cette commande afin qu'elle soit lancée au démarrage du système:
    gdb -x ~/gdb_commands.txt cairo-dock
  • Voilà. En cas de crash (ou d'absence de dock au démarrage), un fichier gdb.txt devrait être disponible dans votre dossier personnel. Merci de nous envoyer le contenu ;)


Glx-Dock / Cairo-Dock Wiki ddd Top

Online users :

Powered by ElementSpeak © 2007 Adrien Pilleboue, 2009-2013 Matthieu Baerts.
Dock based on CSS Dock Menu (Ndesign) with jQuery. Icons by zgegball
Cairo-Dock is a free software under GNU-GPL3 licence. First stable version created by Fabounet.
Many thanks to TuxFamily for the web Hosting and Mav for the domain name.