web-dev-qa-db-fra.com

Débogage en Ruby 1.9

Qu'est-ce que vous utilisez pour le débogage dans Ruby 1.9? rdebug ne semble pas être compatible .. y at-il quelque chose là-bas?

90
cloudhead

Note: cette réponse était correcte mais est maintenant obsolète. Voir la réponse correcte ci-dessous. TL; DR: utilisez le 'débogueur' maintenant.

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

Pour installer (à l'aide de gem sur l'installation de 1.9 Ruby):

gem install Ruby-debug19

(avec peut-être le 'Sudo' nécessaire devant).

50
Mark Moseley

Ruby-debug19 n'est plus maintenu. Toutes les autres réponses sont obsolètes.

Mais il y a une alternative:

debugger à la rescousse!

Mettez ceci dans votre Gemfile:

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

Ça marche. - Et il est inclus dans le gfile de Rails depuis la version 3.2. Quelque chose pour remplacer Ruby-debug19. Il a exactement la même fonctionnalité et est activement maintenu.

167
iblue

MISE À JOUR POUR Ruby 2.0+ et SUIVANT

byebug est le débogueur actuellement recommandé pour Ruby 2.0+

Ce problème a été documenté ici , et cldwalker, l'auteur du débogueur, note que le débogueur sera limité à Ruby 1.9.2 et 1.9.3.

UPDATE 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 nouveau gem du débogueur si vous avez besoin d'aide pour démarrer avec le nouveau bijou, vous pouvez voir Ryan Bates Rails cast .

Dans votre Gemfile, mettez:

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

Vous pouvez ensuite ajouter un point d'arrêt n'importe où dans votre code à l'aide du mot clé debugger.

VOUS POUVEZ TOUJOURS UTILISER

linecache19 et Ruby-debug-base19 avec:

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

ANCIENNES REPONSES

Juste un ajout à ce sujet avec rvm, Ruby 1.9.1-p378 . La vraie histoire est que, même si Ruby-debug est prêt 1.9.x, linecache-0.43 n’est pas . La solution consiste à installer:

gem install Ruby-debug19

Cela résout le problème pour moi.

OLD UPDATE

Si vous rencontrez des problèmes avec le débogage de Ruby 1.9.2 et de Rails 3, mettez:

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

Dans votre Gemfile et en faisant un

bundle install

Fera de vous un débogueur heureux à nouveau.

70
tommasop

Certaines choses que vous pourriez essayer

1) lancez-le avec le débogueur normal de Ruby -rdebug [1] assez lent

2) l'exécuter avec la gemme du dérouleur [genre de puant, très lent]

3) utiliser beaucoup de déclarations d'impression rapide, sorte de moins d'introspection possible 

4) Accédez à l'invite irb et exécutez du code à partir de là.

vous pouvez lister le code en créant votre propre «invite à l'invite irb» qui énumère le code autour de lui-même [utilisez l'appelant pour découvrir où vous êtes], puis passez à l'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

3
VP.

Si vous rencontrez toujours un problème après l'installation de Ruby-debug19, essayez de mettre à jour Ruby-debug-base19. J'avais des erreurs et je ne pouvais pas exécuter WEBrick en mode débogage avant de le faire.

gem update Ruby-debug-base19

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

3
Mike Bethany

Voir ma réponse ici: Ruby-debug ne fonctionne pas - Stack Overflow

Il s'agit de faire en sorte que le débogage de Ruby fonctionne avec la configuration suivante

  • Mac OS X Lion 10.7.2
  • Aptana Studio 3 (version 3.0.8.201201201658)
  • En utilisant rvm, dans le répertoire de travail de mon projet, j'ai un .rvmrc indiquant:

    rvm use Ruby-1.9.3-p0@mygemset
    

J'espère que ça aide!

- Freddy

2
Visionscaper

J'ai utilisé la suite et cela fonctionne très bien pour moi:

gem 'debugger', groupe: [: développement,: test]

Ruby 1.9.3p194 (2012-04-20 révision 35410) [x86_64-linux] Rails 3.2.8

2
Mukesh kumar

Netbeans est un bon IDE pour RoR. Bon débogueur aussi.

0
Zepplock

Il y a beaucoup de choix, selon vos besoins.

J'utilise pry-move parce que je peux "revenir en arrière" sur ce qui s'est passé à l'intérieur de la commande précédente en les réexécutant en mode débogage à partir de l'endroit.

0
Dan Key

La version 1.9.1-p243 de Ruby est disponible et compilable. Ruby-debug-ide fonctionne également correctement. Installez Ruby-debug-ide en utilisant la commande suivante:

bijou installer Ruby-debug-ide

Cela installera les gems Ruby-debug-base19 et Ruby-debug-ide. Mais avant cela, assurez-vous d’installer correctement mingw en suivant les documents du kit de développement disponibles dans RubyForge .

0
user116218

Les dernières fonctionnalités sont disponibles dans Ruby-debug-ide19 gem.

0
Mark Moseley