2012-07-23 9 views

Respuesta

29

Después de un tiempo de intentar otras soluciones propuestas, me encontré con que tenía la siguiente en el archivo de la gema:

gem "debugger" 

esto provoca un conflicto de alguna manera para el depurador ... la eliminación de esta línea lo resolvió a mí ...

Gracias ...


Fuente: Debugger crashes when it hits the first breakpoint

+1

Saltando hasta el final del hilo vinculado, esto es lo que funcionó para mí: 'gem 'ruby-debug' a menos que ENV ['RM_INFO']'. Tenga en cuenta que puede estar utilizando una gema depuradora diferente, entonces reemplace esa parte según sea necesario. – shovavnik

0

Para otros que se ejecutan en esto y no se puede quitar depurador del Gemfile, vale la pena siguiendo el enlace de la fuente Mustafah siempre.

Otras actualizaciones a la discusión señalan que puede agregar 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 a otros en el proyecto el depurador de la línea de comandos.

6

Como una adición al comentario de Mustafah, me tomó un tiempo para localizar a esta variante de la cuestión:

gem 'pry-full' 
gem 'debugger' 

Ambas líneas fueron la causa del problema, así que tuve que cambiar a:

unless ENV['RM_INFO'] 
    gem 'pry-full' 
    gem 'debugger' 
end 

¿Cómo sabe qué gemas podrían estar cargando indirectamente la gema del depurador? Busque en su Gemfile.lock para las entradas que sugieren esta depedency:

pry-debugger (0.2.2) 
    debugger (~> 1.3) 
    pry (~> 0.9.10) 
0

Las otras soluciones no funcionarán si marca en su Gemfile.lock - que variará dependiendo de lo que la máquina se haya generado en (dejase' lo intento, pero bastante seguro de que esto es cierto).

En cambio, puse la joya en una sección separada, no por defecto en el Gemfile:

group :debugging do 
    gem 'debugger' 
end 

Luego, en application.rb, requiero que condicionalmente. Además, yo no tenía RM_INFO, así que echa un RUBYLIB env var:

Bundler.require(:default, Rails.env) if defined?(Bundler) 

unless ENV['RUBYLIB'] =~ /RubyMine/ 
    require 'debugger' 
end 
0

Sólo tenía una dependencia que estaba infringiendo depurador de RubiMine: pry-debugger. Sustituirlo por pry-nav, que no depende de debugger, resolvió el problema.