debug - Depuración en ruby 1.9
ruby binding pry (12)
Algunas cosas que podrías probar
1) ejecutarlo con el depurador normal de ruby -rdebug [1] tipo de lento
2) ejecutarlo con desenrollar gema [tipo de apesta, muy lento]
3) usa muchas instrucciones de impresión rápidamente, algo menos de introspección posible
4) colocar en un indicador de irb y ejecutar algún código a partir de allí.
podría listar el código creando su propio "prompt de drop to irb" que enlistaba el código alrededor de sí mismo [use la persona que llama para descubrir dónde estaba] luego baje a un prompt normal de irb.
5) tal vez jruby en 1.9 modo compat tiene un depurador?
¿Qué usan ustedes para depurar en ruby 1.9? rdebug no parece ser compatible ... ¿hay algo por ahí?
Hay muchas opciones, dependiendo de sus necesidades.
Utilizo pry-moves porque puedo "mirar atrás" hacia lo que sucedió dentro del comando anterior al volver a ejecutarlos en modo de depuración desde el lugar.
La versión de ruby 1.9.1-p243 está fuera y compilable ruby-debug-ide también funciona correctamente. Instale ruby-debug-ide usando el siguiente comando:
joya instalar ruby-debug-ide
Esto instalará las gemas ruby-debug-base19 y ruby-debug-ide. Pero antes de esto, asegúrese de instalar el mingw con éxito siguiendo los documentos del kit de desarrollo disponibles en RubyForge .
Las últimas características están disponibles en la gema ruby-debug-ide19.
Netbeans es un buen IDE para RoR. Buen depurador también.
Si aún tiene un problema después de instalar ruby-debug19 intente actualizar ruby-debug-base19. Tenía errores y no podía ejecutar WEBrick en modo de depuración hasta que lo hice.
gem update ruby-debug-base19
¡Ah, y gracias al Sr. Moseley por todo su arduo trabajo!
Usé siguiente y funciona muy bien para mí:
gem ''depurador'', grupo: [: desarrollo,: prueba]
ruby 1.9.3p194 (revisión de 2012-04-20 35410) [x86_64-linux] carriles 3.2.8
Ver mi respuesta aquí: Ruby-debug no funciona -
Se trata de hacer que la depuración de Ruby funcione con la siguiente configuración
- Mac OS X Lion 10.7.2
- Aptana Studio 3 (compilación 3.0.8.201201201658)
Usando rvm, en mi directorio de trabajo de proyecto tengo un .rvmrc que dice:
rvm use ruby-1.9.3-p0@mygemset
¡Espero que esto ayude!
- Freddy
nadie usa: ruby -rdebug script.rb
luego 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
ya no se mantiene. Todas las otras respuestas están desactualizadas.
Pero hay una alternativa:
debugger
al rescate!
Pon esto en tu Gemfile
:
gem ''debugger'', group: [:development, :test]
Simplemente funciona. - Y está incluido en los carriles Gemfile desde 3.2.algo para reemplazar ruby-debug19
. Tiene exactamente la misma funcionalidad y se mantiene activamente.
ACTUALIZACIÓN PARA RUBY 2.0+ y SIGUIENTE
byebug es el depurador actualmente recomendado para Ruby 2.0+
Este problema se ha documentado aquí , y cldwalker, el autor del depurador, señala que el depurador tendrá un alcance de 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 nada que no se mantenga por más tiempo.
Puede usar la debugger si necesita ayuda para comenzar con la nueva gema y puede ver los rieles de Ryan Bates .
En tu Gemfile pone:
gem ''debugger'', group: [:development, :test]
A continuación, puede agregar un punto de interrupción en cualquier parte de su código utilizando la palabra clave del debugger
.
USTED PUEDE TODAVÍA 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 verdadera historia 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 resuelve el problema para mí.
ANTIGUA ACTUALIZACIÓN
Si tiene problemas con Ruby 1.9.2 y Rails 3 depuración poniendo:
gem ''ruby-debug-base19'', "0.11.24"
gem ''ruby-debug19'', "0.11.6"
En tu Gemfile y haciendo un
bundle install
Te hará un depurador feliz de nuevo.
Nota: esta respuesta fue 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 gema en la instalación 1.9 Ruby):
gem install ruby-debug19
(con quizás el ''sudo'' necesario delante de él).