¿Hay alguna manera de iniciar el depurador de Ruby en la excepción?

¿Hay alguna forma de iniciar el / a depurador de Ruby cada vez que el código lanza una excepción, sin que yo ajuste el código de esta manera:

begin #do something rescue debugger end 

Me gustaría tenerlo de tal manera que si la parte de do something genera una excepción, el depurador se iniciará. Sería bueno no tener que modificar el código para agregar bloques de rescate de inicio por todas partes.

¡Hora del martillo!

Me encontré con esta página: depuración post-mortem . Haciendo esto:

 Debugger.start(:post_mortem => true) 

me lleva a donde quiero

 require 'ruby-debug' class Exception alias original_initalize initialize def initialize(*args) original_initalize(*args) debugger end end 

Esto ejecutará la excepción original, así como el depurador de llamadas

En RubyMine 2.0.x vaya a Ejecutar -> Ver puntos de interrupción y haga clic en la pestaña “Puntos de interrupción de excepción de Ruby”, luego agregue el tipo de excepción en la que está interesado …

Debería haber algo similar en NetBeans y otros IDE de Ruby, supongo.

Por cierto, RubyMine es el mejor!

Si está utilizando Ruby-Debug (y parece que sí lo está), puede establecer catchPoints para la excepción que desea.

  (rdbg) catch Exception 

por ejemplo