Отладка в ruby 1.9


Что вы, ребята, используете для отладки в ruby 1.9? rdebug, похоже, не совместим.. там что-нибудь есть?

12 90

12 ответов:

Примечание: этот ответ был правильным, но теперь устарели. Смотрите ниже Правильный ответ. TL;DR: теперь используйте "отладчик".

ruby-debug теперь доступен с Ruby 1.9.x. см.http://www.github.com/mark-moseley

для установки (с помощью gem на 1.9 Ruby установки):

gem install ruby-debug19

(возможно, с необходимым 'sudo' перед ним).

ruby-debug19 больше не поддерживается. Все остальные ответы устарели.

но есть альтернатива:

debugger на помощь!

положите это в ваш Gemfile:

gem 'debugger', group: [:development, :test]

он просто работает. - и он включен в rails Gemfile с 3.2.что-то заменить ruby-debug19. Он имеет точно такую же функциональность и активно поддерживается.

обновление для RUBY 2.0+ и после

byebug в настоящее время рекомендуется отладчик для Ruby 2.0+

этот вопрос был документы, и cldwalker, автор debugger, отмечает, что отладчик будет ограничен Ruby 1.9.2 и 1.9.3.

обновление 2

Это правда, что ruby-debug не поддерживается активно, даже если я не могу найти нигде, что не поддерживается длиннее.

можно использовать новый отладчик gem если вам нужна помощь, чтобы начать с нового камня можно посмотреть Райан Бейтс рельсы отливали.

в вашем Gemfile поставить:

gem 'debugger', group: [:development, :test]

затем вы можете добавить точку останова в любом месте кода с помощью debugger ключевое слово.

ВЫ ВСЕ ЕЩЕ МОЖЕТЕ ИСПОЛЬЗОВАТЬ

linecache19 и ruby-debug-base19 с:

bash https://raw.github.com/gist/1333785)

СТАРЫЕ ОТВЕТЫ

просто добавьте об этом с rvm, ruby 1.9.1-p378. Правда в том, что даже если ruby-debug-1.9.x готов, linecache-0.43 нет. Решение заключается в установке:

gem install ruby-debug19

Это решает проблему для меня.

СТАРОЕ ОБНОВЛЕНИЕ

если у вас возникли проблемы с ruby 1.9.2 и Rails 3 отладки положить:

gem 'ruby-debug-base19', "0.11.24"
gem 'ruby-debug19', "0.11.6"

в файле и делать

bundle install

сделает вас счастливым отладчиком снова.

некоторые вещи, которые вы могли бы попробовать

1) Запустите его с помощью обычного отладчика ruby-rdebug [1] вроде медленного

2) Запустите его с unroller gem [вид воняет, путь медленный]

3) используйте много операторов печати быстро, вид меньше самоанализа возможно

4) перейдите в приглашение irb и запустите оттуда некоторый код.

вы можете перечислить код, создав свой собственный "drop to irb prompt", в котором указан код вокруг себя [используйте caller для обнаружения где вы где] затем перейдите к обычному приглашению irb.

5) может быть jruby в режиме 1.9 compat имеет отладчик?

[1] http://beaver.net/rdebug/index-0.html

если у вас все еще есть проблемы после установки ruby-debug19 попробуйте обновить ruby-debug-base19. У меня были ошибки и я не мог запустить WEBrick в режиме отладки, пока не сделаю это.

gem update ruby-debug-base19

смотрите мой ответ здесь : Ruby-debug не работает-переполнение стека

речь идет о том, чтобы отладка Ruby работала со следующей настройкой

  • Mac OS X Lion 10.7.2
  • Aptana Studio 3 (Build 3.0.8.201201201658)
  • используя rvm, в моем рабочем каталоге проекта у меня есть .rvmrc заявив:

    rvm use ruby-1.9.3-p0@mygemset
    

надеюсь, это поможет!

-- Freddy

Я использовал следующее, И это отлично работает для меня:

gem 'debugger', group: [: development,: test]

ruby 1.9. 3p194 (2012-04-20 редакция 35410) [x86_64-linux] рельсы 3.2.8

Netbeans-это хорошая IDE для RoR. Хороший отладчик тоже.

версия ruby 1.9.1-p243 отсутствует, и compitable ruby-debug-ide также работает правильно. Установите ruby-debug-ide с помощью следующей команды:

gem install ruby-debug-ide

Это позволит установить Рубин-отладка-base19 и Рубин-отладка-язь камней. Но перед этим убедитесь, что вы успешно установили mingw, следуя документам Development kit, доступным из RubyForge.

последние функции доступны в ruby-debug-ide19 gem.

есть много вариантов, в зависимости от ваших потребностей.

Я использую pry-moves потому что я могу "оглянуться назад" в то, что произошло внутри предыдущей команды, повторно выполнив их в режиме отладки прямо с места.

никто не использует: ruby-скрипт rdebug.РБ

затем вы можете использовать: б сценарий.rb:## (где # # - номер строки действительной команды ruby) в противном случае вы, возможно, окажетесь в середине rubygems или одного из необходимых фрагментов кода.

тогда вы можете просто установить следующую точку останова как b:##