Agrega capacidades paso a paso de depuración y navegación de pila a PRY usando Byebug.
Para usar, invoca Pry normalmente. No es necesario comenzar su script o aplicación de manera diferente. La ejecución se detendrá en la primera declaración después de su binding.pry
.
def some_method
puts 'Hello World' # Run 'step' in the console to move here
end
binding . pry
some_method # Execution will stop here.
puts 'Goodbye World' # Run 'next' in the console to move here.
MRI 2.4.0 o superior.
Agregar
gem 'pry-byebug'
a tu gemfile y corre
bundle install
¡Asegúrese de incluir la GEM a nivel mundial o dentro del grupo :test
Group si planea usarlo para depurar sus pruebas!
Break: Administre los puntos de interrupción.
Paso: la ejecución del paso en la siguiente línea o método. Toma un argumento numérico opcional para dar un paso varias veces.
Siguiente: Pase a la siguiente línea dentro del mismo cuadro. También toma un argumento numérico opcional para pasar múltiples líneas.
Finalización: ejecute hasta que regrese el marco de pila actual.
Continuar: Continuar con la ejecución del programa y finalizar la sesión PRY.
Backtrace: muestra la pila actual. Puede usar los números en el lado izquierdo con el comando frame
para navegar por la pila.
arriba: mueve el marco de la pila. Toma un argumento numérico opcional para mover múltiples marcos.
Down: mueve el marco de la pila hacia abajo. Toma un argumento numérico opcional para mover múltiples marcos.
Marco: se mueve a un marco específico. Llamado sin argumentos mostrará el marco actual.
Si viene de Byebug o de versiones Pry-Byebug anteriores a 3.0, es posible que carezca de los alias 'N', 'S', 'C' y 'F' para los comandos de paso. Estos alias se eliminaron de forma predeterminada porque generalmente entran en conflicto con los nombres de las variables scratch. Pero es muy fácil volver a habilitarlos si todavía los desea, solo agregue los siguientes accesos directos a su archivo ~/.pryrc
:
if defined? ( PryByebug )
Pry . commands . alias_command 'c' , 'continue'
Pry . commands . alias_command 's' , 'step'
Pry . commands . alias_command 'n' , 'next'
Pry . commands . alias_command 'f' , 'finish'
end
Además, también puede encontrar útil el último comando simplemente presionando la tecla Enter
(por ejemplo, con step
o next
). Para lograrlo, agregue esto a su archivo ~/.pryrc
:
# Hit Enter to repeat last command
Pry :: Commands . command /^$/ , "repeat last command" do
pry_instance . run_command Pry . history . to_a . last
end
Puede establecer y ajustar los puntos de interrupción directamente desde una sesión PRY usando el comando break
:
Descanso: establezca un nuevo punto de ruptura desde un número de línea en el archivo actual, un archivo y un número de línea, o un método. Pase una expresión opcional para crear un punto de interrupción condicional. Editar puntos de interrupción existentes a través de varias banderas.
Ejemplos:
break SomeClass #run # Break at the start of `SomeClass#run`.
break Foo #bar if baz? # Break at `Foo#bar` only if `baz?`.
break app / models / user . rb : 15 # Break at line 15 in user.rb.
break 14 # Break at line 14 in the current file.
break -- condition 4 x > 2 # Change condition on breakpoint #4 to 'x > 2'.
break -- condition 3 # Remove the condition on breakpoint #3.
break -- delete 5 # Delete breakpoint #5.
break -- disable - all # Disable all breakpoints.
break # List all breakpoints.
break -- show 2 # Show details about breakpoint #2.
Escriba break --help
de una sesión de Pry para ver todas las opciones disponibles.
Tenga en cuenta que todas las alternativas aquí son incompatibles con Pry-Byebug. Si su plataforma es compatible con Pry-Byebug, debe eliminar cualquiera de las gemas mencionadas aquí si están presentes en su archivo gem.
Pry-DeBugger: proporciona depuración paso a paso para MRI 1.9.3 o más rubíes. Si todavía los usa y necesita un depurador paso a paso para ayudar con la actualización, Pry-DeBugger puede ser útil.
Pry-stack_explorer: proporciona capacidades de navegación de pila para MRI 1.9.3 o más rubíes. Si todavía los usa y necesita navegar su pila para ayudar con la actualización, Pry-stack_explorer puede ser útil.
PRY-NAV: proporciona depuración paso a paso para JRUBY.
Vea comenzar con el desarrollo.
Suscríbase a TidElift para garantizar que Pry-Byebug se mantenga activamente mantenidos, y al mismo tiempo obtenga garantías de licencia y notificaciones de seguridad oportunas para sus dependencias de código abierto.
También puede ayudar pry-byebug
dejando una punta pequeña (o grande) a través de Liberapay.
Utilice el contacto de seguridad de TidElift para informar una vulnerabilidad de seguridad. TidElift coordinará la solución y la divulgación.
Los parches y los informes de errores son bienvenidos.