Codificado "requiere 'depuración'" no puede encontrar el archivo de origen
Con este mínimo código rubí:
require 'debug'
puts
en un archivo llamado, por ejemplo, script.rb
Si lo lanzo así:ruby -rdebug script.rb
y luego presionel
en el aviso de depuración, obtengo el listado, como se esperaba
si en cambio lo ejecuto normalmente comoruby script.rb
al presionarl
Yo obtengo:
(rdb:1) l
[-3, 6] in script.rb
No sourcefile available for script.rb
El mensaje de error parece ser engañoso en el mejor de los casos: el directorio de trabajo no ha cambiado, ¡y el archivo definitivamente sigue ahí!
No puedo encontrar documentación sobre este comportamiento (lo probé tanto en jruby como en mri, y el comportamiento es el mismo)
Sé sobre 'debugger' y 'pry', pero sirven para un caso de uso diferente:
Estoy acostumbrado a otros lenguajes de scripting con un módulo de depuración integrado, que me permite poner una declaración en cualquier parte del código para colocarme en un shell de depuración, inspeccionar códigos, variables y demás ... la ventaja de tenerlo integrado es que está disponible en todas partes, sin tener que configurar un entorno para ello, o incluso cuando estoy en una máquina que no es la mía
Obviamente, podría solucionar esto llamando siempre al intérprete-rdebug
y configurando manualmente el punto de interrupción, pero esto me parece más trabajo que la alternativa