Есть ли любой способ запустить the/a отладчик Ruby каждый раз, когда код выдает исключение без меня обертывающий код как это:
begin
#do something
rescue
debugger
end
Я хотел бы иметь его таким способом который если do something
часть повышает исключение, отладчик запустится. Это было бы хорошо не, необходимость изменить код для добавления начинает спасательные блоки на всем протяжении.
Я наткнулся на эту страницу: посмертная отладка . Выполнение этого:
Debugger.start(:post_mortem => true)
приводит меня туда, куда я хочу.
В RubyMine 2.0.x выберите «Выполнить» -> «Просмотр точек останова» и щелкните вкладку «Точки останова для исключений Ruby», затем добавьте тип интересующего вас исключения ...
В NetBeans и других устройствах должно быть что-то подобное. Думаю, Ruby IDE.
Кстати, RubyMine - ЛУЧШИЙ!
если вы используете ruby-debug (а похоже, что это так), вы можете установить catchPoints для нужного исключения.
(rdbg) catch Exception
например
require 'ruby-debug'
class Exception
alias original_initalize initialize
def initialize(*args)
original_initalize(*args)
debugger
end
end
Это запустит исходное исключение, а также вызовет отладчик