Отладка в ruby ​​1.9

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

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]

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

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

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

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

ОБНОВЛЕНИЕ 2

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

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

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

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

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

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

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

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

В вашем Gemfile и делать

bundle install

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

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

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

2) запустить его с помощью unmroller gem [вроде воняет, очень медленно]

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

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

Вы можете перечислить код, создав собственную "подсказку drop to irb", в которой будет указан код вокруг себя [используйте вызывающую программу, чтобы узнать, где вы находитесь], а затем перейти к обычной подсказке 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 (сборка 3.0.8.201201201658)
  • Используя rvm, в моем рабочем каталоге проекта есть.rvmrc:

    rvm use ruby-1.9.3-p0@mygemset
    

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

Фредди

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

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

ruby 1.9.3p194 (2012-04-20 редакция 35410) [x86_64-linux] rails 3.2.8

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

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

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

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

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

gem install ruby-debug-ide

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

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

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

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

Другие вопросы по тегам