Qu'est-ce que vous utilisez pour le débogage dans ruby 1.9? rdebug ne semble pas compatible ... y a-t-il quelque chose?
Réponses:
Remarque: cette réponse était correcte mais n'est plus à jour. Voir la bonne réponse 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 de 1.9 Ruby):
gem install ruby-debug19
(avec peut-être le «sudo» nécessaire devant lui).
ruby-debug19
n'est plus maintenu. Toutes les autres réponses sont dépassées.
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 à remplacer ruby-debug19
. Il a exactement les mêmes fonctionnalités et est activement maintenu.
group :development do ... end
ou autre), car il contient déjà un groupe.
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 aucun endroit qui ne soit plus maintenu.
Vous pouvez utiliser la nouvelle gemme de débogage si vous avez besoin d'aide pour commencer avec la nouvelle gemme, vous pouvez voir les rails de Ryan Bates coulés .
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 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 version 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 rencontrez des problèmes avec le débogage de 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
Fera de vous un débogueur heureux à nouveau.
Certaines choses que vous pourriez essayer
1) lancez-le avec le débogueur normal de ruby -rdebug [1] un peu lent
2) lancez-le avec un joyau dérouleur [genre de puant, très lent]
3) utiliser rapidement un grand nombre d'instructions d'impression, un peu moins d'introspection possible
4) passez à une invite irb et exécutez du code à partir de là.
vous pouvez lister le code en créant votre propre "drop to irb prompt" qui listait le code autour de lui [utilisez caller pour découvrir où vous êtes] puis passez à une invite irb normale.
5) peut-être que jruby en mode 1.9 compat a un débogueur?
Si vous rencontrez toujours un problème après l'installation de ruby-debug19, essayez de mettre à jour ruby-debug-base19. J'ai eu des erreurs et je n'ai pas pu exécuter WEBrick en mode débogage avant de l'avoir fait.
gem update ruby-debug-base19
Oh, et merci M. Moseley pour tout votre travail acharné!
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
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
J'ai utilisé ce qui suit et cela fonctionne très bien pour moi:
gem 'debugger', groupe: [: développement,: test]
ruby 1.9.3p194 (20/04/2012 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 ruby-debug-ide compitable 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 la documentation du kit de développement disponible sur RubyForge .
Les dernières fonctionnalités sont disponibles dans le gem ruby-debug-ide19.
Il y a beaucoup de choix, selon vos besoins.
J'utilise des mouvements de levier parce que je peux "regarder en arrière" ce qui s'est passé à l'intérieur de la commande précédente en les réexécutant en mode débogage directement 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 requis.
Ensuite, vous pouvez simplement définir le point d'arrêt suivant comme b: ##
ruby-debug19
est obsolète maintenant.