Я столкнулся с этим исключением при отладке с RubyMine...
Debugger.start is not called yet.
Я столкнулся с этим исключением при отладке с RubyMine...
Debugger.start is not called yet.
Спустя некоторое время, попробовав другие предлагаемые решения, я обнаружил, что в файле gem я получил следующее:
gem "debugger"
Это вызывает конфликт как-то для отладчика... Удаление этой строки помогло мне...
Спасибо...
Источник: Сбой отладчика при достижении первой точки останова
В качестве дополнения к комментарию Мустафы мне потребовалось некоторое время, чтобы отследить этот вариант проблемы:
gem 'pry-full'
gem 'debugger'
Обе эти строки вызывали проблему, поэтому мне пришлось изменить на:
unless ENV['RM_INFO']
gem 'pry-full'
gem 'debugger'
end
Как вы узнаете, какие драгоценные камни могут косвенно загружать драгоценный камень отладчика? Посмотрите в свой Gemfile.lock для записей, которые предлагают эту зависимость:
pry-debugger (0.2.2)
debugger (~> 1.3)
pry (~> 0.9.10)
Для других, кто сталкивается с этим и не может удалить отладчик из Gemfile, стоит следовать исходной ссылке, предоставленной Мустафам.
Дальнейшие обновления к обсуждению указывают, что вы можете добавить unless ENV['RM_INFO']
в Gemfile (и после любого требования от gem) отладчика использовать отладчик RM и разрешить другим пользователям проекта отладчик командной строки.
Другие решения не будут работать, если вы проверите свой Gemfile.lock - он будет меняться в зависимости от того, на какой машине он был сгенерирован (не пробовал, но уверен, что это правда).
Вместо этого я помещал драгоценный камень в отдельный раздел не по умолчанию в Gemfile:
group :debugging do
gem 'debugger'
end
Тогда, в application.rb, я требую его условно. Кроме того, у меня не было RM_INFO, поэтому я проверяю RUBYLIB env var:
Bundler.require(:default, Rails.env) if defined?(Bundler)
unless ENV['RUBYLIB'] =~ /RubyMine/
require 'debugger'
end
У меня была только одна зависимость, которая прерывала отладчик RubiMine: pry-debugger
. Заменив его pry-nav
, который не зависит от debugger
, разрешил проблему.