Я использую JRuby 1.7.3 (1.9.3p385) в Windows 7.
Вопреки тому, что говорят люди, не кажется версией отладки ruby, предустановленной с JRuby. Однако я установил его, запустив gem install ruby-debug
. Я запускаю отладчик в своем коде так:
require 'rubygems'
require 'ruby-debug'
debugger
Вы должны вызывать метод debugger
везде, где вы хотите иметь точку останова.
Я запустил код так:
jruby --debug program.rb
Опция --debug
является необязательной, но без нее вы получите предупреждение о том, что «трассировка (например, set_trace_func) не будет захватывать все события без флага --debug».
В другом ответе здесь использовалась опция -S rdebug
в командной строке. Эта опция не обязательна для отладки, и она запускает отладчик в самом начале вашей программы. Просто вызовите метод debugger
, чтобы запустить отладчик, когда вам это нужно; не используйте эту опцию.
Даже без гема ruby-debug кажется, что есть еще какая-то базовая отладка, встроенная в JRuby через debug.rb . Вы можете просто написать load 'debug.rb'
в файле, чтобы запустить отладчик. Он выводит некоторые ненужные сообщения («Debug.rb» и «Доступна поддержка Emacs»), но, похоже, работает.