2012-02-25 17 views
9

Possible Duplicate:
ruby-debug with Ruby 1.9.3?Rails 3.1 y Ruby 1.9.3p125: rubí debug19 vuelve a colgarse con "Símbolo no encontrado: _ruby_threadptr_data_type"

que había oído rumores de que Ruby 1.9.3p125 tiene una solución para el problema de rubí debug19, por lo que por cada instrucciones en el sitio RVM, que vuelven a instalar 1.9.3:

$ rvm reinstall 1.9.3 --patch debug --force-autoconf 
$ ruby -v 
    ruby 1.9.3p125 (2012-02-16 revision 34643) [x86_64-darwin11.2.0] 

continuación:

gem install ruby-debug19 

Agregado esta entrada a mi Gemfile:

gem 'ruby-debug19' 

continuación:

$ rails server -u   
=> Booting WEBrick 
=> Rails 3.1.3 application starting in development on http://0.0.0.0:3000 
=> Call with -d to detach 
=> Ctrl-C to shutdown server 
You need to install ruby-debug to run the server in debugging mode. With gems, use 'gem install ruby-debug' 
Exiting 

Para superar este error he cambiado de entrada Gemfile a:

gem 'ruby-debug19', :require => 'ruby-debug' 

Ahora, un nuevo error del servidor:

/Users/don/.rvm/gems/ruby-1.9.3-p125/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240:in `require': dlopen(/Users/don/.rvm/gems/ruby-1.9.3-p125/gems/ruby-debug-base19-0.11.25/lib/ruby_debug.bundle, 9): Symbol not found: _ruby_threadptr_data_type (LoadError) 
    Referenced from: /Users/don/.rvm/gems/ruby-1.9.3-p125/gems/ruby-debug-base19-0.11.25/lib/ruby_debug.bundle 
    Expected in: flat namespace 
in /Users/don/.rvm/gems/ruby-1.9.3-p125/gems/ruby-debug-base19-0.11.25/lib/ruby_debug.bundle - /Users/don/.rvm/gems/ruby-1.9.3-p125/gems/ruby-debug-base19-0.11.25/lib/ruby_debug.bundle 

I Estoy muy confundido por los cientos de publicaciones que hay sobre cómo manejar este ruby-d ebug19 problema. Esperaba que se hubiera resuelto. Aparentemente no. ¿Alguna sugerencia? (Si alguien sugiere un parche, proporcione instrucciones paso a paso sobre cómo aplicarlo. He tenido problemas con los parches en el pasado).

Respuesta

36

A fork of ruby-debug just called 'debugger' ahora existe que incorpora muchas de las correcciones de la gente había estado desplegando en la parte superior de rubí debug19, por lo que debe ser capaz de simplemente cambiar su Gemfile a

gem 'debugger' 

... y ya está ir.

+1

Muchas gracias por esto, portando algunas plantillas de rieles y no soy * un tipo de rieles ... – mkocubinski

+0

Recibí: 'Excepción no detectada: desajuste entre clases para la clase RemoteInterface' –

+0

¡Funciona! Gracias. Tenga en cuenta a los lectores que la gema antigua debe ser eliminada para que esto funcione. –

3

Resumen breve: no está resuelto, y la resolución oficial solo incluirá una nueva versión de ruby-debug19 o ruby-debug-base19. Es bastante irritante, lo sé.

He investigado mucho sobre esto, también, y he estado atento a las cosas desde que salió 1.9.3 (porque nos encantaría-amor-amor usarlo en producción). Sin embargo, lamentablemente, 1.9.3-p125 no tiene una solución para ruby-debug. Solo ruby-debug19 tendrá la solución para ruby-debug19, ya que los autores de ruby-debug19 y ruby-debug-base19 han estado trabajando en un parche y tienen una versión de prueba actualizada que funciona en Ruby 1.9.3 ... pero ellos haven't released it to the general public. ruby-debug-base19 hasn't seen a release en eones; ruby-debug19 aún más (desde '09).

Si estás en rvm head, usted debería ser capaz de instalar 1.9.3-p125 con el añadido "parche halcón" found here (y señaló sobre RVM here. This gist parece tener mejores instrucciones (que es un tenedor más reciente de la anterior).

+0

Probé el parche Falcon usando RVM - aún así obtener un error de símbolo: Símbolo no encontrado: _ruby_current_thread (LoadError) :-( –

3

lo mejor que puede hacer es usar pry. es un reemplazo IRB-como por ruby-debug y funciona con todas las versiones de Rubí sin parches desagradable!

https://github.com/pry/pry

+0

Sé palanca es bueno para ver el estado del programa, pero ¿le permite seguir a través del seguimiento de la pila y la ruta del código? He examinado los documentos pero no he podido encontrar nada sobre él. ** EDIT **: found [pry-debug] (https : //github.com/Mon-Ouie/pry_debug) - Necesito dar una oportunidad. –

+0

Rayar eso; eso no era lo que estaba buscando con respecto a la palanca. En cambio, [pry-nav] (http: //github.com/nixme/pry-nav) se parece al ticket. –

+0

pry es de hecho una gran herramienta. Lo he estado utilizando como un paso intermedio, pero realmente necesito "paso", "siguiente" y "paso". continuar "funcionalidad. Benjamin - pry-na v se ve muy, muy nuevo. Intenté usarlo cuando se publicó por primera vez, pero no pude hacerlo de manera consistente. ¿Te funciona? –

0

Debe pasar el --with-ruby-include y señalarlo en su directorio src para que esto funcione.

(la mayoría de estas respuestas en otra parte de SO ya han pasado rancio 1.9.3-p125.)

que he escrito hasta nuevas instrucciones aquí para Ubuntu 11.10 que trabajan en mi máquina, pero darles una oportunidad de darwin y ver si ayudan?: https://gist.github.com/2218661

0

He estado teniendo problemas similares al usar Rails 3.2 con Ruby 1.9.3p0 de depuración en Aptana.
Para mí, la nueva ruby-debug-base193 no compila. Pero lo que funciona bien es una solución que ha sido publicado en otra parte:

Gemfile:
joya 'ruby-debug-ide19'
joya 'ruby-debug-base19'

Y a continuación, proporcionando la is_binary_data falta ? método en alguna parte. Lo puse en mis rieles application.rb archivo de este modo:

class String 
    def is_binary_data? 
    (self.count("^ -~", "^\r\n").fdiv(self.size) > 0.3 || self.index("\x00")) unless empty? 
    end 
end 
Cuestiones relacionadas