Отладка в рубине 1.9

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

Ответ 1

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

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

Чтобы установить (используя gem на установке 1.9 Ruby):

gem install ruby-debug19

(возможно, с ним нужно "sudo" ).

Ответ 2

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

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

debugger на помощь!

Поместите это в свой Gemfile:

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

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

Ответ 3

ОБНОВЛЕНИЕ ДЛЯ RUBY 2.0+ и СЛЕДУЮЩИЕ

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

Эта проблема была описанная здесь, и cldwalker, автор отладчика, отмечает, что отладчик будет обладать до Ruby 1.9.2 и 1.9.3.

ОБНОВЛЕНИЕ 2

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

Вы можете использовать новый отладчик gem, если вам нужна помощь, чтобы начать с нового драгоценного камня, вы можете увидеть Ryan Bates rails cast.

В вашем Gemfile put:

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

Затем вы можете добавить точку останова в любом месте вашего кода, используя ключевое слово debugger.

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

linecache19 и ruby-debug-base19 с помощью:

bash < < (curl -L https://raw.github.com/gist/1333785)

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

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

gem install ruby-debug19

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

OLD UPDATE

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

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

В вашем Gemfile и выполнении

bundle install

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

Ответ 4

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

1) запустить его с обычным отладчиком rubys -rdebug [1] медленным

2) запустите его с драгоценным камнем разворота [вид вонь, медленный путь]

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

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

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

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

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

Ответ 5

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

gem update ruby-debug-base19

О, и спасибо мистеру Мозли за всю вашу тяжелую работу!

Ответ 6

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

О попытке отладки Ruby работать со следующей настройкой

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

    rvm use [email protected]
    

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

- Фредди

Ответ 7

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

gem 'debugger', группа: [: development,: test]

ruby ​​1.9.3p194 (2012-04-20 версия 35410) [x86_64-linux] рельсы 3.2.8

Ответ 8

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

Ответ 9

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

gem install ruby-debug-ide

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

Ответ 10

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

Ответ 11

никто не использует: ruby -rdebug script.rb

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

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