Ruby-debugは、94行目のactivesupport-2.3.5 / lib / active_support/callbacks.rbの「break」ruby予約語を壊してハングアップしています。
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が各ActiveSupportコールバックの「break」という単語を壊していることに驚いています。コールバックが非常に頻繁にトリガーされるため、これによりほとんどすべてのデバッグが役に立たなくなりました。仕様ごとにコールバックブレークポイントが何度もトリガーされるため、rspecテストを実行できなくなりました。
これが私の現在インストールされているすべての宝石のリストです:http://pastie.org/854538
更新:ruby-debugとruby-debug-baseを削除しようとしましたが、スペックを実行するたびに次のメッセージが表示されます。必要に応じて、これらの宝石を再インストールしています。
デバッガーステートメントは無視されます。デバッグを有効にするには、rspecで-uまたは--debuggerオプションを使用します
これを回避する方法がわかりません。何か案は?