2009-08-09 8 views
5

J'ai appris C et je voudrais commencer à améliorer les logiciels open source. Je voudrais éliminer un bug irritant dans GTK +. Pour voir le bug j'ai besoin d'utiliser Gedit.Comment démarrer le débogage?

Comment puis-je télécharger les sources de GTK + et gedit et les compiler pour que je puisse voir où se trouve le bogue? Et je n'ai jamais utilisé de débogueur sous Linux alors y a-t-il quelque part un tutoriel pour ça?

Répondre

8

Vous pouvez obtenir des informations sur le téléchargement et la compilation de gedit ici: http://projects.gnome.org/gedit/developers.html

Mon Debugger de choix est GDB: http://www.gnu.org/software/gdb/

GDB est une application console qui peut être difficile à gérer pour un débutant. Essayez un EDI comme Eclipse qui fournit une interface graphique à GDB.

+0

+1 me battre. ;) –

+1

J'aime cgdb. C'est un wrapper ncurses pour gdb. – liori

+0

Insight est une autre interface intéressante pour ceux qui aiment une interface graphique. – McPherrinM

5

Presque tous les débogueurs Linux sont des interfaces ou des adaptations du débogueur gdb. Vous devriez donc apprendre à utiliser ceci en commençant par petits programmes de votre propre construction, et non par des bases de code FOSS géantes. Le manuel de gdb, disponible à partir de here est en fait un très bon tutoriel.

2

gdb est un dinosaure qui aurait dû disparaître depuis longtemps. Le débogage est un domaine où (gasp!) Windows bat Unix. Après l'avoir enlevé de ma poitrine, je vous conseille de commencer avec l'avant graphique Data Display Debugger (DDD) à gdb. Oui, l'interface graphique est pittoresque, mais vous serez plus productif, plus rapide, que si vous commencez avec gdb.

Ne négligez pas non plus valgrind pour trouver et diagnostiquer des erreurs de mémoire. Le projet KDE impose en fait l'utilisation de valgrind; Je ne suis pas sûr de Gnome.

0

Il est possible que vous ne voyiez pas le bogue si vous téléchargez les dernières sources gedit et gtk +. Il peut être réparé dans les dernières sources ou les dernières sources peuvent être suffisamment différentes pour ne pas déclencher votre bug.

Quelle distribution Linux exécutez-vous? Tout d'abord, je suggère de consulter la base de données de bogues de votre distribution pour voir si quelqu'un a déposé un bug similaire. Si vous ne trouvez rien, je suggère d'utiliser les outils de votre distribution pour obtenir la source qui correspond au binaire que vous avez installé sur votre système (par exemple apt-get source libgtk-2.0 sur Debian ou Ubuntu). De plus, votre distribution pourrait également rendre un paquet de débogage disponible (par exemple libgtk2.0-0-dbg sur Debian) qui vous permettra d'exécuter un débogueur sur le binaire que vous avez déjà sans avoir besoin de la source. Bien que cela ne remplace pas les sources, il peut être utile pour exécuter valgrind ou donner un sens à un fichier core.

+0

Ma distribution est Ubuntu. Une fois j'ai signalé le bug et après une année j'ai entendu que le correctif a été libéré. Mais selon mes tests, le bug est toujours là et j'ai mis à jour mon Ubuntu vers la dernière version par la commande sudo apt-get upgrade. –

Questions connexes