ruby on rails - todavia - RubyMine Debugger.start no se llama todavía
super yei-me llama todavia 2(remix) (5)
Me enfrenté a esta excepción al depurar con RubyMine ...
Debugger.start is not called yet.
Como una adición al comentario de Mustafah, me tomó un tiempo rastrear esta variante del problema:
gem ''pry-full''
gem ''debugger''
Ambas líneas causaban el problema, así que tuve que cambiar a:
unless ENV[''RM_INFO'']
gem ''pry-full''
gem ''debugger''
end
¿Cómo sabes qué gemas podrían estar cargando indirectamente la gema del depurador? Busque en su Gemfile.lock entradas que sugieran esta dependencia:
pry-debugger (0.2.2)
debugger (~> 1.3)
pry (~> 0.9.10)
Después de un tiempo de probar otras soluciones propuestas, encontré lo siguiente en el archivo gema:
gem "debugger"
Esto causa un conflicto de alguna manera para el depurador ... Eliminar esta línea me lo resolvió ...
Gracias...
Fuente: el depurador se bloquea cuando llega al primer punto de interrupción
Las otras soluciones no funcionarán si registra su Gemfile.lock; variará dependiendo de la máquina en la que se generó (no lo probé, pero estoy seguro de que esto es cierto).
En su lugar, puse la gema en una sección separada, no predeterminada, en el archivo Gem:
group :debugging do
gem ''debugger''
end
Luego, en application.rb, lo requiero condicionalmente. Además, no tenía RM_INFO, así que compruebo RUBYLIB env var:
Bundler.require(:default, Rails.env) if defined?(Bundler)
unless ENV[''RUBYLIB''] =~ /RubyMine/
require ''debugger''
end
Para otros que se encuentren con esto y no puedan eliminar el depurador de Gemfile, vale la pena seguir el enlace de origen que Mustafah proporcionó.
Otras actualizaciones de la discusión señalan que puede agregar a unless ENV[''RM_INFO'']
al Gemfile (y después de cualquier requerimiento de la gema del depurador) para usar el depurador de RM y permitir que otros en el proyecto el depurador de línea de comandos.
Solo tenía una dependencia que estaba rompiendo el depurador de RubiMine: pry-debugger
. Reemplazándolo con pry-nav
, que no depende del debugger
, resolvió el problema.