Что я вставляю свой Ruby (JRuby) код для вторжения в отладчик?

Я ознакомляюсь с некоторым кодом JRuby, и я хотел бы смочь поместить точку останова в код и работать (как обычно), от командной строки, имение его врывается в отладчик, когда это добирается до той точки. Есть ли что-то, что я могу вставить свой код, чтобы вынудить JRuby ворваться в отладчик?

Я попытался работать jruby -r debug foo.rb (вместо обычного jruby foo.rb), и затем устанавливая точку останова с b bar.py:98, и затем продолжение. Но отладчик останавливается каждый раз, когда существует исключение, и, кажется, существуют многие из них, прежде чем это доберется до строки кода, которой я интересуюсь. Я хотел бы смочь поместить строку (строки) "врываться-отладчика" в свой код и работать jruby foo.rb и имейте первое место остановки отладчика быть в той строке.

(т.е. я ищу эквивалент Ruby/JRuby import pdb;pdb.set_trace() в Python.)

6
задан Daryl Spitzer 24 March 2010 в 00:02
поделиться

2 ответа

Вы можете попробовать Netbeans Ruby IDE, он имеет встроенный интерпретатор JRuby и инструменты отладки, и вы можете отлаживать визуально прямо в IDE.
Если использование IDE вам не подходит, просто установите de debug gem в ваш дистрибутив JRuby и используйте его с помощью debugger команды:

  1. Вручную скачайте ruby-debug-base-0.10.3.1-java.gem из debug-commons в локальную директорию.
  2. Установите гем в ваш репозиторий JRuby Gem:
    jruby -S gem install -l ruby-debug-base-0.10.3.1-java.gem
  3. Установите гем ruby-debug:
    jruby -S gem install --ignore-dependencies ruby-debug

Команда debugger теперь должна работать.

# test.rb
require 'rubygems'
require 'ruby-debug'
debugger
# run like this:
jruby --debug -S rdebug test.rb

Дополнительная информация на Netbeans wiki, rdebug wiki и JRuby wiki

5
ответ дан 17 December 2019 в 00:07
поделиться
require 'rubygems'
require 'ruby-debug'
debugger
1
ответ дан 17 December 2019 в 00:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: