ruby-debug с Ruby 1.9.3? - PullRequest
       66

ruby-debug с Ruby 1.9.3?

70 голосов
/ 11 ноября 2011

Я только что обновился до Ruby 1.9.3p0 и Rails 3.1.1. Теперь, когда я пытаюсь запустить сервер, он жалуется, что я должен установить ruby-debug, даже если он уже установлен.

% rails server --environment=development --debug
=> Booting WEBrick
=> Rails 3.1.0 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
You need to install ruby-debug to run the server in debugging mode. With gems, use 'gem install ruby-debug'
Exiting

В моем Gemfile у меня есть

# see: http://stackoverflow.com/questions/1083451/debugging-in-ruby-1-9
gem 'ruby-debug-base19', "0.11.24"
gem 'ruby-debug19', "0.11.6"

Можно ли запустить отладку с последней версией Ruby?

Ответы [ 9 ]

102 голосов
/ 11 ноября 2011

Обновление (28 апреля 2012 г.)

Попробуйте новый отладчик гем в качестве замены для ruby-debug.

( кредит для@ ryanb )


Обновление (2 марта 2012 г.)

Установка linecache19 и ruby-debug-base19 может быть легко выполнена с помощью:

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

( кредит @ fredostarr )


Оригинальный ответ

Вы смотрели на ruby-debug19на ruby-1.9.3-preview1 ?

Вот временное решение: http://blog.wyeworks.com/2011/11/1/ruby-1-9-3-and-ruby-debug

Выдержка с сайта:

Первая загрузка linecache19-0.5.13.gem и ruby-debug-base19-0.11.26.gem от http://rubyforge.org/frs/?group_id=8883, затем…

$ gem install linecache19-0.5.13.gem 
Building native extensions.  This could take a while...
Successfully installed linecache19-0.5.13
1 gem installed
$ gem install ruby-debug-base19-0.11.26.gem -- --with-ruby-include=/Users/santiago/.rbenv/source/ruby-1.9.3-p0  
Building native extensions.  This could take a while...
Successfully installed ruby-debug-base19-0.11.26
1 gem installed
$ irb
irb(main):001:0> require 'ruby-debug'
=> true
33 голосов
/ 25 ноября 2011

Установка linecache19 и ruby-debug-base19 может быть легко выполнена с помощью:

bash < <(curl -L https://raw.github.com/gist/1333785)
5 голосов
/ 03 марта 2012

Кто-то еще написал в комментарии, чтобы попробовать Pry, что я и сделал.Вот что необходимо для Rails:

# Gemfile
gem 'pry-rails'


# In your Rails Project where you want a 'debugger'

puts 'i want to insert some code between this'

binding.pry

puts 'and this'

Сразу после установки я замечаю, что мой .irbrc не загружается, поэтому я не получаю симпатичный вывод на консоль.Я также добавил это в мой '~ / .pryrc'

# setting up pry to have irb helpers like reload!
if defined?(Rails) && Rails.env
  extend Rails::ConsoleMethods
end

Pry, где есть несколько приятных функций, которые я хотел бы проверить, и я все же могу вернуться к ruby-debug, когда есть простой способинтегрировать его в проект Rails для Ruby 1.9.3.Я могу запустить команду curl из других ответов, но это то, на что я должен указать своим партнерам по команде для нашего проекта Rails, так что это не очень хорошо масштабируется IMO.

4 голосов
/ 28 августа 2012

Возможно, это не окончательный ответ на этот вопрос, но меня привела цепочка закрытых дубликатов.

Для меня проблема заключалась в том, что я запускаю проект как на ruby ​​1.8, так и на ruby ​​1.9, и мойGemfile понадобилось это изменение:

gem 'debugger', :require => 'ruby-debug', :platforms => :mri_19
gem 'ruby-debug', :platforms => :mri_18

Теперь оно работает для обоих рубинов.

Для получения дополнительной информации см. Здесь: http://gembundler.com/man/gemfile.5.html#PLATFORMS-platforms-

2 голосов
/ 26 января 2012

Для пользователей Windows:

Первая загрузка: linecache19-0.5.13.gem и ruby-debug-base19-0.11.26.gem От: http://rubyforge.org/frs/?group_id=8883&release_id=46303

Предположение: Ruby isв c: \ Ruby1.93

поместите загруженные файлы gem в c: \ temp (linecache19-0.5.13.gem и ruby-debug-base19-0.11.26.gem)

затем выполните из командной строки:

gem install c: \ temp \ linecache19-0.5.13.gem

gem install c: \ temp \ ruby-debug-base19-0.11.26.gem - --with-ruby-include = C: \ Ruby1.93 \ include \ ruby-1.9.1 \ ruby-1.9.3-p0

1 голос
/ 13 февраля 2012

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

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

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

    rvm use ruby-1.9.3-p0@mygemset
    

По сути, мне пришлось использовать:

linecache19 (0.5.13)
ruby-debug-base19x (0.11.30.pre10)
ruby-debug-ide (0.4.16)

Обратите внимание, что я не использую ruby-debug-base19, а ruby-debug-base19x

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

- Фредди

1 голос
/ 30 января 2012

Кстати, если вы используете новейший патч для ruby1.9.3 (сокол, https://gist.github.com/1688857),, используйте следующие команды

wget http://rubyforge.org/frs/download.php/75414/linecache19-0.5.13.gem
wget http://rubyforge.org/frs/download.php/75415/ruby-debug-base19-0.11.26.gem

gem install linecache19-0.5.13.gem
## with rvm: 
gem install ruby-debug-base19-0.11.26.gem -- --with-ruby-include=$HOME/.rvm/src/ruby-1.9.3-p0-falcon
## with rbenv (this is a guess): 
gem install ruby-debug-base19-0.11.26.gem -- --with-ruby-include=$HOME/.rbenv/source/ruby-1.9.3-p0-falcon
0 голосов
/ 29 декабря 2011

Если у вас нет rvm и предполагается, что установка ruby ​​находится в /usr/local/ruby-1.9.3-po, вы можете использовать эту команду:

curl -L https://raw.github.com/gist/1533750|sudo / bin / bash

0 голосов
/ 29 декабря 2011

Также вам необходимо проверить, установлен ли гем 'ruby_source_code'.

Проверка: http://bugs.ruby -lang.org / Issues / 1857 # Примечание-8

...