хорошая работа :) но не могли бы вы сделать фатгем (содержащий версии 1.8 и 1.9 для отладки ruby-debug), чтобы нам не нужно было забывать о выполнении rubydebbug19? :)
horseyguy
4
Было бы несправедливо отвергать это предложение только потому, что время сделало его неправильным ответом. SO нужен какой-то способ обработки таких вариантов использования, чтобы новый правильный ответ стал первым в списке, не наказывая авторов старых ответов, которые больше никому не нужны.
iconoclast
167
ruby-debug19больше не поддерживается. Все остальные ответы устарели.
Это просто работает. - И он входит в рельсы Gemfile начиная с 3.2.что-то на замену ruby-debug19. Он имеет точно такую же функциональность и активно поддерживается.
Прекрасно работает. Намного лучше, чем устанавливать ruby-debug вручную. Спасибо.
manu_v 01
5
Это действительно нужно переместить в верхнюю строчку.
Matt Zukowski
2
Да, действительно, этот ответ должен быть лучшим.
Назар Хуссейн,
А как насчет того, где это на самом деле находится в Gemfile.
Буровая установка
Не важно. Поместите его где угодно, только не внутри группового блока (не внутри group :development do ... endи т.п.), потому что он уже содержит группу.
Просто добавьте об этом с помощью rvm, ruby 1.9.1-p378. Правдивая история заключается в том, что даже если ruby-debug готов к 1.9.x, linecache-0.43 нет. Решение - установить:
gem install ruby-debug19
Это решает проблему для меня.
СТАРЫЕ ОБНОВЛЕНИЯ
Если у вас проблемы с отладкой ruby 1.9.2 и Rails 3, поставьте:
Спасибо, для меня это был более подходящий ответ. Но, возможно, это потому, что вы ответили почти год спустя, и в этом отношении все изменилось навсегда.
Марк
3
Некоторые вещи, которые вы могли бы попробовать
1) запустите его с помощью обычного отладчика ruby -rdebug [1] медленно
2) запустите его с помощью unroller gem [воняет, очень медленно]
3) быстро используйте много операторов печати, возможно меньше самоанализа
4) перейдите к приглашению irb и запустите оттуда код.
вы можете перечислить код, создав свое собственное приглашение «перейти в irb», которое перечисляет код вокруг себя [используйте вызывающую программу, чтобы узнать, где вы где], а затем перейти к обычному приглашению irb.
5) может быть, у jruby в режиме совместимости 1.9 есть отладчик?
Если после установки ruby-debug19 проблема не исчезла, попробуйте обновить ruby-debug-base19. У меня были ошибки, и я не мог запустить WEBrick в режиме отладки, пока не сделал этого.
gem update ruby-debug-base19
О, и спасибо мистеру Мозли за вашу тяжелую работу!
Поправьте меня, если я ошибаюсь, но я пока не верю, что отладчик работает для Ruby 1.9.1 (реализация C). По крайней мере, мне не удалось заставить его работать.
JP Richardson
0
Версия ruby 1.9.1-p243 отсутствует, и совместимый ruby-debug-ide также работает правильно. Установите ruby-debug-ide с помощью следующей команды:
гем установить ruby-debug-ide
Это установит драгоценные камни ruby-debug-base19 и ruby-debug-ide. Но перед этим убедитесь, что вы успешно установили mingw, следуя документации комплекта разработчика, доступной на RubyForge .
Есть много вариантов, в зависимости от ваших потребностей.
Я использую pry-move, потому что могу «оглянуться назад» на то, что произошло внутри предыдущей команды, повторно выполнив их в режиме отладки прямо с места.
тогда вы можете использовать: b script.rb: ## (где ## - номер строки действующей команды ruby), в противном случае вы, возможно, окажетесь в середине rubygems или одного из требуемых фрагментов кода.
Затем вы можете просто установить следующую точку останова как b: ##
ruby-debug19
устарело сейчас.Ответы:
Примечание: этот ответ был правильным, но сейчас устарел. См. Правильный ответ ниже. TL; DR: используйте «отладчик» сейчас.
ruby-debug теперь доступен с Ruby 1.9.x. См. Http://www.github.com/mark-moseley
Чтобы установить (используя gem на установке 1.9 Ruby):
(возможно, с необходимым «sudo» перед ним).
источник
ruby-debug19
больше не поддерживается. Все остальные ответы устарели.Но есть альтернатива:
debugger
на помощь!Поместите это в свой
Gemfile
:gem 'debugger', group: [:development, :test]
Это просто работает. - И он входит в рельсы Gemfile начиная с 3.2.что-то на замену
ruby-debug19
. Он имеет точно такую же функциональность и активно поддерживается.источник
group :development do ... end
и т.п.), потому что он уже содержит группу.ОБНОВЛЕНИЕ ДЛЯ РУБИНА 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 нет. Решение - установить:
Это решает проблему для меня.
СТАРЫЕ ОБНОВЛЕНИЯ
Если у вас проблемы с отладкой ruby 1.9.2 и Rails 3, поставьте:
gem 'ruby-debug-base19', "0.11.24" gem 'ruby-debug19', "0.11.6"
В вашем Gemfile и выполняя
Снова сделает вас счастливым отладчиком.
источник
Некоторые вещи, которые вы могли бы попробовать
1) запустите его с помощью обычного отладчика ruby -rdebug [1] медленно
2) запустите его с помощью unroller gem [воняет, очень медленно]
3) быстро используйте много операторов печати, возможно меньше самоанализа
4) перейдите к приглашению irb и запустите оттуда код.
вы можете перечислить код, создав свое собственное приглашение «перейти в irb», которое перечисляет код вокруг себя [используйте вызывающую программу, чтобы узнать, где вы где], а затем перейти к обычному приглашению irb.
5) может быть, у jruby в режиме совместимости 1.9 есть отладчик?
[1] http://beaver.net/rdebug/index-0.html
источник
Если после установки ruby-debug19 проблема не исчезла, попробуйте обновить ruby-debug-base19. У меня были ошибки, и я не мог запустить WEBrick в режиме отладки, пока не сделал этого.
О, и спасибо мистеру Мозли за вашу тяжелую работу!
источник
Смотрите мой ответ здесь: Ruby-debug не работает - qaru
Речь идет о том, чтобы отладка Ruby работала со следующей настройкой
Используя rvm, в моем рабочем каталоге проекта у меня есть .rvmrc, в котором указано:
rvm use ruby-1.9.3-p0@mygemset
Надеюсь, это поможет!
- Фредди
источник
Я использовал следующие, и они отлично мне подходят:
гем "отладчик", группа: [: разработка,: тест]
ruby 1.9.3p194 (2012-04-20 ревизия 35410) [x86_64-linux] rails 3.2.8
источник
Netbeans - хорошая IDE для RoR. Хороший отладчик тоже.
источник
Версия ruby 1.9.1-p243 отсутствует, и совместимый ruby-debug-ide также работает правильно. Установите ruby-debug-ide с помощью следующей команды:
Это установит драгоценные камни ruby-debug-base19 и ruby-debug-ide. Но перед этим убедитесь, что вы успешно установили mingw, следуя документации комплекта разработчика, доступной на RubyForge .
источник
Последние функции доступны в gem ruby-debug-ide19.
источник
Есть много вариантов, в зависимости от ваших потребностей.
Я использую pry-move, потому что могу «оглянуться назад» на то, что произошло внутри предыдущей команды, повторно выполнив их в режиме отладки прямо с места.
источник
никто не использует: ruby -rdebug script.rb
тогда вы можете использовать: b script.rb: ## (где ## - номер строки действующей команды ruby), в противном случае вы, возможно, окажетесь в середине rubygems или одного из требуемых фрагментов кода.
Затем вы можете просто установить следующую точку останова как b: ##
источник