Post

Reemplazo de Byebug por Debug 馃敟馃悰

Desde que conozco Ruby on Rails, incluye la gema Byebug 馃槬. Fue introducida en el Gemfile hace m谩s de 7 a帽os.

El Pull Request Depend on ruby/debug, replacing Byebug que nos brind贸 la informaci贸n.

La pregunta obligada es: 驴Por qu茅 se remueve la gema de Byebug?

  • Byebug y Zeitwerk no son totalmente compatibles. Esto no es un error de ninguna de las gemas, es una limitaci贸n t茅cnica.

  • En Ruby 3.1, la depuraci贸n se incluir谩 con debug.rb, y este cambio alinea Rails con Ruby.

Dato hist贸rico

El 8 de abril de 2014 se cre贸 el Pull Request para introducir Byebug en Ruby on Rails, pero se hizo merge hasta el 11 de abril de 2014.

Adi贸s Byebug

驴Qu茅 es Byebug? En palabras de la misma gema:

Byebug es un depurador rico en funciones y f谩cil de usar para Ruby. Utiliza la API de TracePoint para el control de ejecuci贸n y la API del inspector de depuraci贸n para la navegaci贸n de la pila de llamadas. No depende de fuentes centrales internas. Es r谩pido porque est谩 desarrollado como una extensi贸n de C y confiable porque es compatible con un conjunto completo de pruebas.

Saber m谩s de Byebug

Hola Debug

debug.rb proporciona funcionalidad de depuraci贸n a Ruby.

Ventajas:

  1. R谩pido: Sin penalizaci贸n de rendimiento en el modo sin pasos y sin puntos de interrupci贸n
  2. Depuraci贸n remota: Admite la depuraci贸n remota de forma nativa
    • Socket de dominio UNIX
    • TCP/IP
    • Integraci贸n VSCode/DAP (VSCode rdbg Ruby Debugger)
  3. Extensible: La aplicaci贸n puede introducir soporte de depuraci贸n de varias formas
    • Por comando rdbg
    • Al cargar bibliotecas con la opci贸n -r
    • Al llamar al m茅todo de Ruby expl铆citamente

Entre otras cosas:

  1. Soporte para hilos (casi terminado) y ractores (TODO)
  2. Admite suspender e ingresar a la consola de depuraci贸n con Ctrl-C
  3. Muestra par谩metros en el comando backtrace
  4. Admite depuraci贸n de grabaci贸n y respuesta

Saber m谩s de Debug

This post is licensed under CC BY 4.0 by the author.