Przepraszam za długość pytania, ale chcę wyjaśnić, że nie popełniam głupich błędów!Nie można debugować w RubyMine 4.5 za pomocą Ruby 1.9.3
Więc walczę aby uzyskać debugowanie działa w rubymine 4,5 użyciu Ruby 1.9.3, moje kroki są następujące:
świeże (czyli po usunięciu wszystkich poprzednich ruby gem i katalogów) zainstalować Ruby 1.9.3 , Ruby Gems, DevKit i Rails (po this guide) - to działa dobrze.
Następnie próbuję rozpocząć pracę z rubinem mojego zespołu. Otwieram katalog w RubyMine (pamiętając najpierw o usunięciu katalogu .idea
) i pojawia się monit o wykonanie bundle install
, które wykonuję (z konsoli) zgodnie z żądaniem. To się udało. Uruchom ponownie RubyMine.
I wtedy zapewnić Ruby pracuje: Narzędzia> IRB Console>puts "test"
#test => nil
- Współpracuje Spróbuję teraz debuggera (SHIFT
+ F9
) i pojawi się komunikat:
The gem ruby-debug-base19x required by the debugger is currently not installed. Would you like to install it?"
klikam anuluj i czek moja Gemfile, jedynymi związane debugowania obecne są:
# Debugging
gem 'debugger'
#gem 'ruby-debug-base19', :require => false
#gem 'ruby-debug19', :require => false
gem 'ruby-prof', :require => false #, :git => 'git://github.com/wycats/ruby-prof.git'
Wygląda mamy debugger na korzyść ruby-debug
. Czytanie here, jednak wydaje się, że debugger
jest niewystarczające. Muszę zainstalować ruby-debug-base19x
. Więc, po SO, I ustosunkowania się debuggera z Gemfile i uruchomić
gem install ruby-debug-base19x --pre
gem install ruby-debug-ide --pre
które działają dobrze, więc dodam
gem 'ruby-debug-base19x', '0.11.30.pre10'
gem 'ruby-debug-ide', '0.4.17.beta14'
do mojego Gemfile i uruchomić bundle install
z konsoli.
Wreszcie, otwieram debugger wewnątrz RubyMine (SHIFT + F9). Ponownie działa puts "test" #test => nil
. Więc staram podwójne kliknięcie w rynsztoku mojego skryptu, aby utworzyć punkt przerwania, rubymine zatrzymuje się na chwilę, a potem dostać:
D:\Ruby\Ruby193\bin\ruby.exe -e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift) D:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/ruby-debug-ide-0.4.17.beta14/bin/rdebug-ide --dispatcher-port 55451 --port 55452 -- S:/code/account_groups/script/rails console
Fast Debugger (ruby-debug-ide 0.4.17.beta14, ruby-debug-base 0.11.30.pre10) listens on 127.0.0.1:55452
D:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/debugger-1.1.4/lib/ruby_debug.so: warning: already initialized constant VERSION
5992: Exception in DebugThread loop: undefined method `errmsg' for #<Debugger::ControlState:0x2a2f3e8>
Backtrace:
D:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/debugger-1.1.4/lib/ruby-debug/command.rb:160:in `errmsg'
from: D:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/debugger-1.1.4/lib/ruby-debug/commands/breakpoints.rb:81:in `execute'
from: D:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/ruby-debug-ide-0.4.17.beta14/lib/ruby-debug-ide/ide_processor.rb:89:in `block in process_commands'
from: D:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/ruby-debug-ide-0.4.17.beta14/lib/ruby-debug-ide/ide_processor.rb:86:in `catch'
from: D:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/ruby-debug-ide-0.4.17.beta14/lib/ruby-debug-ide/ide_processor.rb:86:in `process_commands'
from: D:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/ruby-debug-ide-0.4.17.beta14/lib/ruby-debug-ide.rb:160:in `block in start_control'
Process finished with exit code 0
Próbowałem również przy użyciu kopii zapasowej kodu i wykonując te same czynności, ja również otrzymuję następujący błąd, gdy próbuje załadować debuggera:
Uncaught exception: cannot load such file -- ruby-debug
D:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.6/lib/active_support/dependencies.rb:251:in `require'
D:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.6/lib/active_support/dependencies.rb:251:in `block in require'
D:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.6/lib/active_support/dependencies.rb:236:in `load_dependency'
D:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.6/lib/active_support/dependencies.rb:251:in `require'
S:/code/account_groups_so/lib/systematic-online/r_spec_runner.rb:5:in `<top (required)>'
D:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.6/lib/active_support/dependencies.rb:251:in `require'
D:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.6/lib/active_support/dependencies.rb:251:in `block in require'
D:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.6/lib/active_support/dependencies.rb:236:in `load_dependency'
D:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.6/lib/active_support/dependencies.rb:251:in `require'
S:/code/account_groups_so/config/environment.rb:12:in `block in <top (required)>'
S:/code/account_groups_so/config/environment.rb:12:in `each'
S:/code/account_groups_so/config/environment.rb:12:in `<top (required)>'
D:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.6/lib/active_support/dependencies.rb:251:in `require'
D:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.6/lib/active_support/dependencies.rb:251:in `block in require'
D:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.6/lib/active_support/dependencies.rb:236:in `load_dependency'
D:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/activesupport-3.2.6/lib/active_support/dependencies.rb:251:in `require'
D:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.2.6/lib/rails/application.rb:103:in `require_environment!'
D:/Ruby/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.2.6/lib/rails/commands.rb:40:in `<top (required)>'
S:/code/account_groups_so/script/rails:6:in `require'
S:/code/account_groups_so/script/rails:6:in `<top (required)>'
Nie ma nic złego w skrypcie (Użyłem go w porządku przed) i wydaje ślad związane ruby-debug-ide
- co się dzieje?
Dzięki za pomoc - doprowadza mnie to do szału!
Proszę podać niewielki przykładowy projekt, aby odtworzyć ten problem. – CrazyCoder
Dziękuję za odpowiedź, ale nie jestem pewien, co chcesz, abym dostarczył? Mogę dać ci moją pełną Gemfile, Gemfile.lock lub wydrukować moje Ruby ENV? – rwb
Zapakuj i udostępnij katalog przykładowym skryptem, projektem RubyMine (katalog '.idea'), który pokaże, gdzie ustawiony jest punkt przerwania,' Gemfile', 'Gemfile.lock'. – CrazyCoder