52 votes

Des rails avec ruby-debugger jettent 'Symbole introuvable: _ruby_current_thread (LoadError)'

J'ai standard ruby-head et Rails 3.1rc4. J'ai installé ruby-debug avec les instructions suivantes tirées de http://dirk.net/2010/04/17/ruby-debug-with-ruby-19x-and-rails-3-on-rvm/

Mais quand je lance rails s --debugger il va jeter cette erreur étrange

 /Users/schovi/.rvm/gems/ruby-head/gems/activesupport-3.1.0.rc4/lib/active_support/dependencies.rb:237:in `require': dlopen(/Users/schovi/.rvm/gems/ruby-head/gems/linecache19-0.5.12/lib/trace_nums19.bundle, 9): Symbol not found: _ruby_current_thread (LoadError)
  Referenced from: /Users/schovi/.rvm/gems/ruby-head/gems/linecache19-0.5.12/lib/trace_nums19.bundle
  Expected in: flat namespace
in /Users/schovi/.rvm/gems/ruby-head/gems/linecache19-0.5.12/lib/trace_nums19.bundle - /Users/schovi/.rvm/gems/ruby-head/gems/linecache19-0.5.12/lib/trace_nums19.bundle
from /Users/schovi/.rvm/gems/ruby-head/gems/activesupport-3.1.0.rc4/lib/active_support/dependencies.rb:237:in `block in require'
from /Users/schovi/.rvm/gems/ruby-head/gems/activesupport-3.1.0.rc4/lib/active_support/dependencies.rb:223:in `block in load_dependency'
 

Une idée? Merci David

54voto

Rob Points 2006

Mise à JOUR:

Ressemble, il vous suffit de mettre ceci dans votre gemfile:

gem "débogueur"

et fonctionne maintenant.

L'ancien article suit

====================================

Jérôme est correct, mais pas dans les détails. Ici, c'est le coup par coup, prises à partir de ce https://gist.github.com/1331533en particulier grâce à andrewroth post. J'ai testé ce que le temps de ce post. On espère que le changement sera déployé quelque part standard bientôt.

Installing ruby debugger on ruby 1.9.3-p125: 

export PATCH_LEVEL=`ruby -e 'puts RUBY_PATCHLEVEL'`
export RVM_SRC=$HOME/.rvm/rubies/ruby-1.9.3-p$PATCH_LEVEL/include/ruby-1.9.1
gem install archive-tar-minitar
gem install ruby_core_source -- --with-ruby-include=/$RVM_SRC
export RVM_SRC=$HOME/.rvm/rubies/ruby-1.9.3-p$PATCH_LEVEL/include/ruby-1.9.1/ruby-1.9.3-p$PATCH_LEVEL

wget http://rubyforge.org/frs/download.php/75415/ruby-debug-base19-0.11.26.gem
wget http://rubyforge.org/frs/download.php/63094/ruby-debug19-0.11.6.gem
wget http://rubyforge.org/frs/download.php/75414/linecache19-0.5.13.gem
gem install linecache19-0.5.13.gem -- --with-ruby-include=/$RVM_SRC
# if that step failed, and you are running OSX Lion, then following this post can help you: 
# http://stackoverflow.com/questions/8032824/cant-install-ruby-under-lion-with-rvm-gcc-issues
# this happens if you recently installed xcode from the app store. 
# bizarrely, for me I had to do this: ln -s /usr/bin/gcc /usr/bin/gcc-4.2
gem install ruby-debug-base19-0.11.26.gem -- --with-ruby-include=/$RVM_SRC

Then edit Gemfile: 

gem 'linecache19', '0.5.13', :path => "~/.rvm/gems/ruby-1.9.3-p#{RUBY_PATCHLEVEL}/gems/linecache19-0.5.13/"
gem 'ruby-debug-base19', '0.11.26', :path => "~/.rvm/gems/ruby-1.9.3-p#{RUBY_PATCHLEVEL}/gems/ruby-debug-base19-0.11.26/"
gem 'ruby-debug19', :require => 'ruby-debug'

Then install: 

bundle install

21voto

Mustafah ELBanna Points 2310

J'ai utilisé la gemme 'debugger' qui est une fourchette de ruby-debug (19) qui fonctionne sur les versions 1.9.2 et 1.9.3 et s'installe facilement pour les rubis Rvm / Rbenv. Cela fait disparaître l'erreur!

11voto

TekWiz Points 206

Il semble que c'est un bug connu de ruby-debug-base, pour le moment. J'ai ajouté mon commentaire à la question sur le bug tracker. Elle envisager d'ajouter vos notes ainsi:

http://rubyforge.org/tracker/index.php?func=detail&aid=29222&group_id=8883&atid=34290

Dans l'intervalle, ruby 1.9 a un débogueur intégré; sa juste très lent. Ajouter manuellement ce besoin de ligne de code:

require 'debug'

En outre, le débogueur se brise sur tous les StandardError des exceptions par défaut, afin de le faire quand il démarre pour la première fois:

catch off

6voto

jtblin Points 1681

Si vous utilisez Ruby 1.9.3x, pour le résoudre, accédez à ruby-debug sur rubyforge , téléchargez et installez ruby-debug-base 0.11.26 et linecache19 0.5.13. Modifiez votre Gemfile pour utiliser ces fichiers, puis exécutez

 bundle update ruby-debug-base19
 

Le débogueur devrait fonctionner maintenant.

Merci Jérôme

0voto

Rubytastic Points 1530

Cela a été corrigé mise à niveau vers les derniers joyaux de tous les débogage

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