Buen trabajo :) pero ¿podrías hacer un fatgem (que contenga las versiones 1.8 y 1.9 ruby-debug) para que no tengamos que recordar hacer rubydebbug19? :)
Horseyguy
4
No parece justo rechazar esto solo porque el paso del tiempo ha hecho que ahora sea la respuesta incorrecta. SO necesita alguna forma de manejar estos casos de uso, para permitir que la nueva respuesta correcta se convierta en la primera en la lista, sin penalizar a los autores de respuestas anteriores que ya no son útiles para nadie.
iconoclasta
167
ruby-debug19ya no se mantiene. Todas las demás respuestas están desactualizadas.
Simplemente funciona. - Y está incluido en el Gemfile de rieles desde 3.2 ruby-debug19. Algo para reemplazar . Tiene exactamente la misma funcionalidad y se mantiene activamente.
Solo un complemento sobre esto con rvm, ruby 1.9.1-p378. La historia real es que incluso si ruby-debug está listo para 1.9.x, linecache-0.43 no lo está. La solución es instalar:
gem install ruby-debug19
Esto me resuelve el problema.
ACTUALIZACIÓN ANTIGUA
Si tiene problemas con la depuración de Ruby 1.9.2 y Rails 3:
Gracias, para mí esa fue la respuesta más apropiada. Pero tal vez esto se deba a que respondió casi un año después y las cosas cambiaron para bien en ese sentido.
marca el
3
Algunas cosas que podrías probar
1) ejecútalo con el depurador normal de ruby -rdebug [1] algo lento
2) ejecutarlo con gema desenrolladora [un poco apesta, muy lento]
3) use muchas declaraciones impresas rápidamente, con una menor introspección posible
4) desplácese a un indicador de irb y ejecute algún código desde allí.
podría enumerar el código creando su propio "indicador de irb" que enumera el código alrededor de sí mismo [use el llamador para descubrir dónde está] y luego vaya al indicador de irb normal.
5) ¿tal vez jruby en el modo de compatibilidad 1.9 tiene un depurador?
Si sigue teniendo problemas después de instalar ruby-debug19, intente actualizar ruby-debug-base19. Tuve errores y no pude ejecutar WEBrick en modo de depuración hasta que hice eso.
gem update ruby-debug-base19
¡Ah, y gracias Sr. Moseley por todo su arduo trabajo!
Corrígeme si me equivoco, pero no creo que el depurador funcione todavía para Ruby 1.9.1 (implementación de C). Al menos, no he logrado que funcione.
JP Richardson
0
La versión de ruby 1.9.1-p243 está disponible y ruby-debug-ide compitable también funciona correctamente. Instale ruby-debug-ide usando el siguiente comando:
gema instalar ruby-debug-ide
Esto instalará las gemas ruby-debug-base19 y ruby-debug-ide. Pero antes de esto, asegúrese de instalar mingw correctamente siguiendo los documentos del kit de desarrollo disponibles en RubyForge .
Utilizo movimientos de palanca porque puedo "mirar hacia atrás" en lo que sucedió dentro del comando anterior al volver a ejecutarlos en modo de depuración directamente desde el lugar.
entonces puede usar: b script.rb: ## (donde ## es el número de línea de un comando ruby válido) de lo contrario, tal vez se encuentre en medio de rubygems o uno de los fragmentos de código requeridos.
Luego, simplemente puede establecer el siguiente punto de interrupción como b: ##
ruby-debug19
está desactualizado ahora.Respuestas:
Nota: esta respuesta era correcta, pero ahora está desactualizada. Vea la respuesta correcta a continuación. TL; DR: use 'depurador' ahora.
ruby-debug ahora está disponible con Ruby 1.9.x. Ver http://www.github.com/mark-moseley
Para instalar (usando gem en la instalación 1.9 Ruby):
(quizás con el 'sudo' necesario delante).
fuente
ruby-debug19
ya no se mantiene. Todas las demás respuestas están desactualizadas.Pero hay una alternativa:
debugger
¡al rescate!Pon esto en tu
Gemfile
:Simplemente funciona. - Y está incluido en el Gemfile de rieles desde 3.2
ruby-debug19
. Algo para reemplazar . Tiene exactamente la misma funcionalidad y se mantiene activamente.fuente
group :development do ... end
ni similar), porque ya contiene un grupo.ACTUALIZACIÓN PARA RUBY 2.0+ y SIGUIENTES
byebug es el depurador recomendado actualmente para Ruby 2.0+
Este problema se ha documentado aquí , y cldwalker, el autor del depurador, señala que el depurador se ajustará a Ruby 1.9.2 y 1.9.3.
ACTUALIZACIÓN 2
Es cierto que ruby-debug no se mantiene activamente incluso si no puedo encontrar ningún lugar que ya no se mantenga.
Puede usar la nueva gema depuradora si necesita ayuda para comenzar con la nueva gema que puede ver en los rieles de Ryan Bates .
En su Gemfile ponga:
Luego puede agregar un punto de interrupción en cualquier parte de su código usando la
debugger
palabra clave.TODAVÍA PUEDES USAR
linecache19 y ruby-debug-base19 con:
bash <<(curl -L https://raw.github.com/gist/1333785 )
ANTIGUAS RESPUESTAS
Solo un complemento sobre esto con rvm, ruby 1.9.1-p378. La historia real es que incluso si ruby-debug está listo para 1.9.x, linecache-0.43 no lo está. La solución es instalar:
Esto me resuelve el problema.
ACTUALIZACIÓN ANTIGUA
Si tiene problemas con la depuración de Ruby 1.9.2 y Rails 3:
En su Gemfile y haciendo un
Te convertirá en un depurador feliz de nuevo.
fuente
Algunas cosas que podrías probar
1) ejecútalo con el depurador normal de ruby -rdebug [1] algo lento
2) ejecutarlo con gema desenrolladora [un poco apesta, muy lento]
3) use muchas declaraciones impresas rápidamente, con una menor introspección posible
4) desplácese a un indicador de irb y ejecute algún código desde allí.
podría enumerar el código creando su propio "indicador de irb" que enumera el código alrededor de sí mismo [use el llamador para descubrir dónde está] y luego vaya al indicador de irb normal.
5) ¿tal vez jruby en el modo de compatibilidad 1.9 tiene un depurador?
[1] http://beaver.net/rdebug/index-0.html
fuente
Si sigue teniendo problemas después de instalar ruby-debug19, intente actualizar ruby-debug-base19. Tuve errores y no pude ejecutar WEBrick en modo de depuración hasta que hice eso.
¡Ah, y gracias Sr. Moseley por todo su arduo trabajo!
fuente
Vea mi respuesta aquí: Ruby-debug no funciona
Se trata de hacer que la depuración de Ruby funcione con la siguiente configuración
Usando rvm, en el directorio de trabajo de mi proyecto tengo un .rvmrc que indica:
¡Espero que esto ayude!
- Freddy
fuente
Usé lo siguiente y funciona muy bien para mí:
gem 'depurador', grupo: [: desarrollo,: prueba]
ruby 1.9.3p194 (2012-04-20 revisión 35410) [x86_64-linux] rieles 3.2.8
fuente
Netbeans es un buen IDE para RoR. Buen depurador también.
fuente
La versión de ruby 1.9.1-p243 está disponible y ruby-debug-ide compitable también funciona correctamente. Instale ruby-debug-ide usando el siguiente comando:
Esto instalará las gemas ruby-debug-base19 y ruby-debug-ide. Pero antes de esto, asegúrese de instalar mingw correctamente siguiendo los documentos del kit de desarrollo disponibles en RubyForge .
fuente
Las últimas funciones están disponibles en ruby-debug-ide19 gem.
fuente
Hay muchas opciones, según sus necesidades.
Utilizo movimientos de palanca porque puedo "mirar hacia atrás" en lo que sucedió dentro del comando anterior al volver a ejecutarlos en modo de depuración directamente desde el lugar.
fuente
nadie usa: ruby -rdebug script.rb
entonces puede usar: b script.rb: ## (donde ## es el número de línea de un comando ruby válido) de lo contrario, tal vez se encuentre en medio de rubygems o uno de los fragmentos de código requeridos.
Luego, simplemente puede establecer el siguiente punto de interrupción como b: ##
fuente