2010-08-07 6 views
2

Je voudrais déboguer et éventuellement contribuer à quelques gemmes open source mais je suis assez nouveau sur Ruby and Rails. Quelle est la meilleure façon d'entrer et de commencer à définir des points d'arrêt, etc?Ruby Debugging Open Source Bibliothèques

En ce moment, j'utilise simplement ruby-debug pour mon propre code et j'inspecte les variables principalement.

+0

J'utilise déjà le débogueur, je suis plus confus comment le faire avec d'autres bibliothèques. À l'heure actuelle, la seule façon dont je sais comment est de cloner le dépôt git, apporter des modifications, puis réinstaller la gemme et/ou redémarrer le serveur à chaque fois. – Dex

+0

On dirait qu'il n'y a aucun moyen de déboguer en utilisant Rails sans redémarrer Rails à chaque fois. L'utilisation d'un Gemfile avec Bundler est en fait très indolore pour l'utilisation de libs dans Rails et autonome. – Dex

Répondre

1

vous avez besoin de la gemme ruby-debugger. Assurez-vous que vous avez avez rubygems installé, puis faire

gem install ruby-debug 

Ensuite, ajoutez la ligne

require 'ruby-debug' 

à votre code source pour charger la bibliothèque, et ajouter le mot-clé « debugger » où que vous souhaitez définir un point d'arrêt. Maintenant, chaque fois que vous appelez le code en question, il va tomber à la console de débogage quand il atteint le point d'arrêt - appuyez sur h pour voir une liste d'options pour voir ce que vous pouvez faire à partir de là. Évidemment, n'oubliez pas de supprimer vos points d'arrêt et l'instruction require une fois que vous avez terminé!

+0

Oui, c'est ce que je fais maintenant. Je pensais qu'il y avait peut-être des outils différents que je ne connaissais pas. – Dex

+0

ah, je suis désolé - j'ai raté ce peu de votre message. bundler ('gem install bundler') rendra plus facile la gestion des dépendances gem dans vos propres projets, donc si vous voulez vous appuyer sur votre version corrigée d'une gemme, plutôt que sur la version canonique, vous pouvez spécifier ceci et avoir bundler piste de la dépendance pour vous. – mistertim

+0

En termes de contribution retour aux projets, le workflow standard (en supposant que le projet est hébergé sur github) semble être - fork the git repository pour le projet, faire vos changements sur votre fork (y compris les tests pour les changements), puis soumettre un Tirez la requête vers le projet source. Le responsable peut ensuite retirer les modifications de votre fourche et les inclure dans une version. J'espère que cela t'aides! – mistertim

Questions connexes