Ruby-debug застревает из-за прерывания зарезервированного рубинового слова "break" в строке 94 activesupport-2.3.5 / lib / active_support / callbacks.rb.
def run(object, options = {}, &terminator)
enumerator = options[:enumerator] || :each
unless block_given?
send(enumerator) { |callback| callback.call(object) }
else
send(enumerator) do |callback|
result = callback.call(object)
break result if terminator.call(result, object) # This line is the culprit
end
end
end
Я знаю, что break - это зарезервированное слово в Ruby, и я удивлен, что ruby-debug ломает слово "break" для каждого обратного вызова ActiveSupport. Это сделало почти всю мою отладку бесполезной, так как обратный вызов срабатывает очень часто. Я больше не могу запускать какие-либо из моих тестов rspec, поскольку точка прерывания обратного вызова вызывается много раз для каждой спецификации.
Вот список всех моих установленных в настоящее время драгоценных камней: http://pastie.org/854538
Обновление:
Я попытался удалить ruby-debug и ruby-debug-base, и теперь я получаю следующее сообщение, когда запускаю свои спецификации. Я переустанавливаю эти драгоценные камни по мере необходимости.
debugger statement ignored, use -u or --debugger option on rspec to enable debugging
Я не знаю, как обойти это. Есть идеи?