0

今日、JRuby を Apache の Mahout で使用してみました。しかし、デバッガーに問題があります。ステートメントを特定の場所に置くdebuggerと、そこで止まりません。後でスクリプトの最後で停止し、もちろん変数は使用できません。これは私のGemfileです:

source 'https://rubygems.org'

platform :jruby do
  gem "jruby_mahout"
  gem "ruby-debug"
end

これはスクリプトです:

require 'rubygems'
require 'ruby-debug'

puts "I am called"
debugger
puts "I should not be called before the debugger"

しかし、出力は次のとおりです。

I am called
/usr/local/rvm/gems/jruby-1.7.3@mahout/gems/ruby-debug-base-0.10.4-java/lib/ruby-debug-base.rb:215 warning: tracing (e.g. set_trace_func) will not capture all events without --debug flag
I should not be called
/usr/local/rvm/gems/jruby-1.7.3@mahout/gems/ruby-debug-0.10.4/cli/ruby-debug/interface.rb:129
finalize if respond_to?(:finalize)
(rdb:1) 

tracing (e.g. set_trace_func) will not capture all events without --debug flagでスクリプトを開始したため、この警告が表示される理由が不思議ですjruby test.rb --debug

OS X 10.8 に RVM を使用して JRuby 1.7.3 をインストールしました。呼び出すjruby -versionと、次の出力が得られます。

jruby 1.7.3 (1.9.3p385) 2013-02-21 dac429b on Java HotSpot(TM) 64-Bit Server VM 1.6.0_43-b01-447-11M4203 [darwin-x86_64]
NameError: undefined local variable or method `rsion' for main:Object
  (root) at -e:1

たぶん、インストールが壊れているか、間違っています。これを解決する方法はありますか?

4

1 に答える 1

1

私は自分でそれを解決しました。長い間試行錯誤した後、私は誤って--debugステートメントを間に入れました:

jruby --debug test.rb

奇妙ですが、今では期待どおりに動作します。

于 2013-04-09T17:44:43.733 に答える