Débogage dans Ruby 1.9

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

Note: cette réponse était correcte mais est maintenant obsolète. 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 l’installation 1.9 Ruby):

 gem install ruby-debug19 

(avec peut-être le nécessaire «sudo» devant).

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] 

Cela fonctionne juste. – Et il est inclus dans les rails Gemfile depuis 3.2.quelque chose pour remplacer ruby-debug19 . Il a exactement les mêmes fonctionnalités et est activement maintenu.

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 étendu à Ruby 1.9.2 et 1.9.3.

MISE À JOUR 2

Il est vrai que ruby-debug n’est pas activement maintenu, même si je ne trouve plus où que ce soit qui ne soit plus maintenu.

Vous pouvez utiliser le nouveau joyau du débogueur si vous avez besoin d’une aide pour démarrer avec le nouveau joyau que vous pouvez voir sur les rails de Ryan Bates .

Dans votre Gemfile mis:

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

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

VOUS POUVEZ UTILISER ENCORE

linecache19 et ruby-debug-base19 avec:

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

Vieilles réponses

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 pour le 1.9.x, linecache-0.43 ne l’est pas. La solution consiste à installer:

 gem install ruby-debug19 

Cela résout le problème pour moi.

ANCIENNE MISE À JOUR

Si vous rencontrez des problèmes avec Ruby 1.9.2 et Rails 3, mettez:

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

Dans votre Gemfile et faire un

 bundle install 

Vous fera un nouveau débogueur heureux.

Si vous avez 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!

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

Il s’agit de faire fonctionner le débogage Ruby avec la configuration suivante

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

     rvm use ruby-1.9.3-p0@mygemset 

J’espère que ça aide!

– Freddy

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

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

La version ruby ​​1.9.1-p243 est sortie et le format ruby-debug-ide compatible fonctionne également correctement. Installez ruby-debug-ide à l’aide de la commande suivante:

gem installer ruby-debug-ide

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

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

Il y a beaucoup de choix, en fonction de vos besoins.

J’utilise des mouvements de levier parce que je peux “regarder en arrière” dans ce qui s’est passé dans la commande précédente en les ré-exécutant en mode débogage directement à partir de l’endroit.

personne n’utilise: ruby ​​-rdebug script.rb

alors vous pouvez utiliser: b script.rb: ## (où ## est le numéro de ligne d’une commande ruby ​​valide) sinon vous allez peut-être être au milieu de rubygems ou de l’un de vos morceaux de code requirejs.

Ensuite, vous pouvez simplement définir le prochain point d’arrêt sous la forme b: ##