web-dev-qa-db-fra.com

ruby-debug avec Ruby 1.9.3?

Je viens de mettre à jour vers Ruby 1.9.3p0 et Rails 3.1.1. Maintenant, lorsque j'essaie de lancer le serveur, il se plaint que je devrais installer Ruby-debug, même s'il est déjà installé.

% Rails server --environment=development --debug
=> Booting WEBrick
=> Rails 3.1.0 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
You need to install Ruby-debug to run the server in debugging mode. With gems, use 'gem install Ruby-debug'
Exiting

Dans mon Gemfile j'ai

# see: http://stackoverflow.com/questions/1083451/debugging-in-Ruby-1-9
gem 'Ruby-debug-base19', "0.11.24"
gem 'Ruby-debug19', "0.11.6"

Est-il possible d'exécuter le débogage avec la dernière version de Ruby?

70
dkobozev

Mise à jour (28 avril 2012)

Essayez le nouveau débogueur gem en remplacement de Ruby-debug.

( crédit à @ryanb )


Mise à jour (2 mars 2012)

L'installation de linecache19 et Ruby-debug-base19 peut être facilement effectuée avec:

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

( crédit à @fredostarr )


Réponse originale

Avez-vous regardé Ruby-debug19 sur Ruby-1.9.3-preview1 ?

Voici une solution temporaire: http://blog.wyeworks.com/2011/11/1/Ruby-1-9-3-and-Ruby-debug

Extrait du site:

Téléchargez d'abord linecache19-0.5.13.gem et Ruby-debug-base19-0.11.26.gem depuis http://rubyforge.org/frs/?group_id=888 , puis…

$ gem install linecache19-0.5.13.gem 
Building native extensions.  This could take a while...
Successfully installed linecache19-0.5.13
1 gem installed
$ gem install Ruby-debug-base19-0.11.26.gem -- --with-Ruby-include=/Users/santiago/.rbenv/source/Ruby-1.9.3-p0  
Building native extensions.  This could take a while...
Successfully installed Ruby-debug-base19-0.11.26
1 gem installed
$ irb
irb(main):001:0> require 'Ruby-debug'
=> true
102
Dty

L'installation de linecache19 et Ruby-debug-base19 peut être facilement effectuée avec:

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

Quelqu'un d'autre a posté un commentaire pour essayer Pry, c'est ce que j'ai fait. Voici ce qui est nécessaire pour Rails:

# Gemfile
gem 'pry-Rails'


# In your Rails Project where you want a 'debugger'

puts 'i want to insert some code between this'

binding.pry

puts 'and this'

Immédiatement après l'installation, je remarque mon .irbrc ne se charge pas, donc je n'ai pas assez de sortie console. J'ai également ajouté ceci à mon '~/.pryrc'

# setting up pry to have irb helpers like reload!
if defined?(Rails) && Rails.env
  extend Rails::ConsoleMethods
end

Pry a quelques fonctionnalités intéressantes que j'ai voulu vérifier, et je reviendrai peut-être encore sur Ruby-debug une fois qu'il y aura un moyen simple de l'intégrer dans un projet Rails pour Ruby 1.9.3. Je peux exécuter la commande curl à partir des autres réponses, mais c'est quelque chose que je vais devoir indiquer à mes coéquipiers pour notre projet Rails, donc il ne fonctionne pas 't échelle bien IMO.

5
Eric Hu

Peut-être pas la réponse définitive à cette question, mais j'étais mené ici par une chaîne de doublons fermés.

Pour moi, le problème était que j'exécutais un projet dans les deux Ruby 1.8 et Ruby 1.9, et mon Gemfile avait besoin de ce changement:

gem 'debugger', :require => 'Ruby-debug', :platforms => :mri_19
gem 'Ruby-debug', :platforms => :mri_18

Maintenant, cela fonctionne pour les deux rubis.

Pour plus d'informations, voir ici: http://gembundler.com/man/gemfile.5.html#PLATFORMS-platforms-

4
user132837

Pour les utilisateurs de Windows:

Premier téléchargement: linecache19-0.5.13.gem et Ruby-debug-base19-0.11.26.gem De: http://rubyforge.org/frs/?group_id=8883&release_id=463

Hypothèse: Ruby est dans c:\Ruby1.93

placez les fichiers gem téléchargés dans c:\temp (linecache19-0.5.13.gem et Ruby-debug-base19-0.11.26.gem)

puis exécutez à partir de la ligne de commande:

installation de gem c:\temp\linecache19-0.5.13.gem

installation de gemme c:\temp\Ruby-debug-base19-0.11.26.gem - --with-Ruby-include = C:\Ruby1.93\include\Ruby-1.9.1\Ruby-1.9.3-p0

2
Rommel

BTW, si vous utilisez le dernier patch pour Ruby1.9.3 (falcon, https://Gist.github.com/1688857 ), utilisez les commandes suivantes

wget http://rubyforge.org/frs/download.php/75414/linecache19-0.5.13.gem
wget http://rubyforge.org/frs/download.php/75415/Ruby-debug-base19-0.11.26.gem

gem install linecache19-0.5.13.gem
## with rvm: 
gem install Ruby-debug-base19-0.11.26.gem -- --with-Ruby-include=$HOME/.rvm/src/Ruby-1.9.3-p0-falcon
## with rbenv (this is a guess): 
gem install Ruby-debug-base19-0.11.26.gem -- --with-Ruby-include=$HOME/.rbenv/source/Ruby-1.9.3-p0-falcon
1
mindreframer

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 .rvmrc indiquant:

    rvm use Ruby-1.9.3-p0@mygemset
    

Fondamentalement, je devais utiliser:

linecache19 (0.5.13)
Ruby-debug-base19x (0.11.30.pre10)
Ruby-debug-ide (0.4.16)

Notez que je n'utilise pas Ruby-debug-base19 mais Ruby-debug-base19x

J'espère que ça aide!

- Freddy

1
Visionscaper

Si vous n'avez pas rvm et en supposant que vous Ruby est dans /usr/local/Ruby-1.9.3-po, vous pouvez utiliser cette commande:

curl -L https://raw.github.com/Gist/153375 | Sudo/bin/bash

0
Alain Beauvois

Vous devez également vérifier si la gemme 'Ruby_source_code' est déjà installée.

Vérifier: http://bugs.Ruby-lang.org/issues/1857#note-8

0
feroult