52

私は標準のルビーヘッドとRails3.1rc4を持っています。http://dirk.net/2010/04/17/ruby-debug-with-ruby-19x-and-rails-3-on-rvm/の指示に従ってruby-debugをインストールしました

しかし、私が実行rails s --debuggerすると、この奇妙なエラーがスローされます

/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'

何か案が?ありがとう、デビッド

4

7 に答える 7

54

アップデート:

これをgemfileに入れるだけでよいようです。

宝石「デバッガ」

そして今は動作します。

古い記事が続きます

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

ジェロームは正しいですが、詳細が欠けています。これは、特にandrewrothの投稿のおかげで、このhttps://gist.github.com/1331533から抜粋した一撃です。この投稿の時点でこれをテストしました。変更がすぐに標準のどこかに展開されることを期待しています。

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
于 2012-02-13T20:29:35.170 に答える
21

私は、1.9.2および1.9.3で動作し、rvm / rbenv rubiesに簡単にインストールできるruby-debug(19)のフォークであるgem'debugger'を使用しました。エラーが消えます!

于 2012-05-28T11:39:04.947 に答える
11

現時点では、これはruby-debug-baseの既知のバグのようです。バグトラッカーの問題にコメントを追加しました。メモを追加することも検討してください。

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

それまでの間、ruby1.9にはデバッガーが組み込まれています。とても遅いです。このrequire行をコードに手動で追加します。

require 'debug'

また、デバッガーはデフォルトですべてのStandardError例外を中断するため、最初に起動したときにこれを実行します。

catch off
于 2011-08-17T16:55:55.873 に答える
6

Ruby 1.9.3xを実行している場合、それを修正するには、rubyforgeのruby-debugに移動し、ruby-debug-base0.11.26とlinecache190.5.13をダウンロードしてインストールします。これらのファイルを使用するようにGemfileを変更してから、

bundle update ruby-debug-base19

これでデバッガーが機能するはずです。

ありがとうジェローム

于 2012-02-05T05:12:46.370 に答える
0

これは、すべてのデバッグの最新のgemへのアップグレードで修正されました

于 2012-03-17T13:49:29.157 に答える
0

ruby 1.9.3を使用して、「ruby-debug19」に加えてgem「ruby-debug-base19x」(名前の最後にある「x」に注意)を追加することで、これを機能させることができました。

于 2012-06-07T16:35:11.837 に答える
0

私のシステムは、MacOSX10.8.5ではrvm1.18.10とruby1.9.3p392です。最初にgem'ruby-debug19'をインストールしましたが、よく知られている理由により、デバッガーが機能しませんでした。

それから走った

local$ gem install 'debugger'

他の多くの投稿で示唆されているように。gemは、次の出力で正常にインストールされました。

local$ gem install debugger
Fetching: debugger-ruby_core_source-1.2.3.gem (100%)
Fetching: debugger-linecache-1.2.0.gem (100%)
Fetching: debugger-1.6.2.gem (100%)
Building native extensions.  This could take a while...
Successfully installed debugger-ruby_core_source-1.2.3
Successfully installed debugger-linecache-1.2.0
Successfully installed debugger-1.6.2
3 gems installed
Installing ri documentation for debugger-ruby_core_source-1.2.3...
Installing ri documentation for debugger-linecache-1.2.0...
Installing ri documentation for debugger-1.6.2...
Installing RDoc documentation for debugger-ruby_core_source-1.2.3...
Installing RDoc documentation for debugger-linecache-1.2.0...
Installing RDoc documentation for debugger-1.6.2...
local$ irb
1.9.3-p392 :002 > require 'debugger'
=> true

それから走った

local$ rails server --debug
/usr/local/rvm/gems/ruby-1.9.3-p392/gems/activesupport-3.2.11/lib/active_support/dependencies.rb:251:
in`require': dlopen(/usr/local/rvm/gems/ruby-1.9.3-p392/gems/ruby-debug-base19-0.11.25/lib/ruby_debug.bundle,
9): Symbol not found: _ruby_current_thread (LoadError)
Referenced from: /usr/local/rvm/gems/ruby-1.9.3-p392/gems/ruby-debug-base19-0.11.25/lib/ruby_debug.bundle
Expected in: flat namespace
 in /usr/local/rvm/gems/ruby-1.9.3-p392/gems/ruby-debug-base19-0.11.25/lib/ruby_debug.bundle - /usr/local/rvm/gems/ruby-1.9.3-p392/gems/ruby-debug-base19-0.11.25/lib/ruby_debug.bundle
......

このエラーを解決するには、「gem'ruby-debug19'」という行をコメントアウトし、Gemfileに「gem'debugger'」という新しい行を追加して、実行しました。

local$ bundle update

その後、すべてが正常に機能しました。

local$ rails server --debug
=> Booting WEBrick
=> Rails 3.2.14 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
=> Debugger enabled
[2013-10-15 12:50:21] INFO  WEBrick 1.3.1
[2013-10-15 12:50:21] INFO  ruby 1.9.3 (2013-02-22) [x86_64-darwin10.8.0]
[2013-10-15 12:50:21] INFO  WEBrick::HTTPServer#start: pid=7206 port=3000
于 2013-10-15T20:22:53.280 に答える