90 votes

Débogage en ruby 1.9

Qu'est-ce que vous utilisez pour déboguer en ruby 1.9 ? rdebug ne semble pas être compatible y a-t-il quelque chose qui existe ?

167voto

iblue Points 10472

ruby-debug19 n'est plus maintenu. Toutes les autres réponses sont périmées.

Mais il y a une alternative :

debugger à la rescousse !

Mettez ceci dans votre Gemfile :

gem 'debugger', group: [:development, :test]

Cela fonctionne tout simplement. - Et il est inclus dans le Gemfile de rails depuis 3.2.something pour remplacer ruby-debug19 . Il a exactement la même fonctionnalité et est activement maintenu.

(Maintenant, s'il vous plaît, donnez-moi beaucoup de votes positifs pour que les réponses périmées disparaissent. Merci. :)

70voto

tommasop Points 5692

MISE À JOUR 2

Il est vrai que ruby-debug n'est pas activement maintenu même si je ne trouve aucun endroit qui ne soit plus maintenu.

Vous pouvez utiliser le nouvelle gemme de débogage si vous avez besoin d'aide pour commencer avec la nouvelle gemme, vous pouvez voir Distribution des rails de Ryan Bates .

Dans votre Gemfile, mettez :

gem 'debugger', group: [:development, :test]

Vous pouvez ensuite ajouter un point d'arrêt n'importe où dans votre code en utilisant la fonction debugger mot-clé.

VOUS POUVEZ TOUJOURS UTILISER

linecache19 et ruby-debug-base19 avec :

bash < <(curl -L https://raw.github.com/gist/1333785 )

ANCIENNES RÉPONSES

Juste un ajout à ce sujet avec rvm, ruby 1.9.1-p378. L'histoire vraie est que même si ruby-debug est prêt pour la 1.9.x, linecache-0.43 ne l'est pas. La solution est d'installer :

gem install ruby-debug19

Cela résout le problème pour moi.

ANCIENNE MISE À JOUR

Si vous avez des problèmes avec ruby 1.9.2 et Rails 3, mettez le débogage :

gem 'ruby-debug-base19', "0.11.24"
gem 'ruby-debug19', "0.11.6"

dans votre Gemfile et en faisant un

bundle install

Cela fera de vous un débogueur heureux à nouveau.

50voto

Mark Moseley Points 552

Note : cette réponse était correcte mais elle est maintenant périmée. Voir la réponse correcte ci-dessous. TL;DR : utilisez 'debugger' maintenant.

ruby-debug est maintenant disponible avec Ruby 1.9.x. Voir http://www.github.com/mark-moseley

Pour installer (en utilisant gem sur une installation Ruby 1.9) :

gem install ruby-debug19

(avec éventuellement le "sudo" nécessaire devant).

3voto

Si vous avez toujours un problème après avoir installé ruby-debug19, essayez de mettre à jour ruby-debug-base19. J'avais des erreurs et ne pouvais pas exécuter WEBrick en mode débogage jusqu'à ce que je fasse cela.

gem update ruby-debug-base19

Oh, et merci M. Moseley pour tout votre travail !

3voto

VP. Points 2931

Certaines choses que vous pourriez essayer

1) l'exécuter avec le débogueur normal de ruby -rdebug [1] un peu lent

2) le faire fonctionner avec unroller gem [ça pue, c'est très lent].

3) utiliser rapidement beaucoup d'instructions d'impression, ce qui réduit les possibilités d'introspection.

4) passer à une invite irb et exécuter du code à partir de là.

vous pourriez lister le code en créant votre propre "invite irb" qui liste le code autour d'elle [utiliser l'appelant pour découvrir où vous êtes] puis passer à une invite irb normale.

5) peut-être que jruby en mode compat 1.9 a un débogueur ?

[1] http://beaver.net/rdebug/index-0.html

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X