No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Debugging: detecta los errores en tu código

17/36
Recursos

Aportes 11

Preguntas 0

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Regístrate o inicia sesión para participar.

Hola, he estado probando Ruby Jard denle una revisada seguro les va a gustar, tiene unas habilidades de reflexión, interacción, navegación y backtracing bien interesantes, entre otras porque el engine del REPL es pry, por otro lado les cuento que tiene una layout configurable de varios tipos de scren y colores, para los amantes de la consola es muy cómodo, por aquí les dejo el enlace Ruby JArd

Otra manera de hacer un debugging para algo rápido y sencillo es utilizar el comando

fail

Por ejemplo en el ‘show’ de un libro:

  # GET /books/1
  # GET /books/1.json
  def show
    fail
  end

fail corta la ejecución del código y nos lanza los detalles del request que estamos haciendo en nuestro navegador, muy útil para consultar por ejemplo los params que enviamos al controlador. También nos levanta un terminal para hacer consultas rápidas a la db

otra forma también útil es usar en la parte del front la etiqueta pre y el método inspect de una variable para ver su contenido impreso en el html:

<pre>
<%= @variable.inspect %>
</pre>

o también anteponer debug:

<pre>
<%= debug @variable %>
</pre>

A estas 2 excelentes herramientas si les sumamos un log artesanal o la gema Logger, más los blockes rescue, sería el stack ideal para tener una excelente depuración 😉

excelente, ya me resolvió varios problemas 😉

Rails instala por defecto un librería llamada byebug, esta librería es debugger por defecto que utiliza Ruby y Rails.

Para utilizarlo hay que colocar la palabra byebug en la parte del código en la que se quiera parar la grabación, esto es útil para interactuar con las variables, constantes o parámetros en ese momento y ver en que momento está fallando el código.

Para ver estos valores hay que ir a la terminal donde se está ejecutando el servidor, y se podrá observar dónde se paró la ejecución de la aplicación, y también podrás ver el valor de todas las variables, clases, métodos, etc. solo con poner el nombre y dar enter en la terminal.

Para seguir el flujo del código se ejecuta el comando continue, y esto terminará la ejecución del código.


Otra herramienta de debugging bastante conocida es pry, está gema es una librería de debugging para Ruby y Rails y es algo más madura que byebug.

Para utilizarla hay que instalar las gemas hay que agregar pry y pry-doc en el Gemfile y luego ejecutar el comando bundle install.

Una vez instalada, para comenzar a hacer debugging se utiliza binding.pry en el lugar donde se quiera parar la ejecución de la aplicación y de la misma forma en la terminal donde se está ejecutando el servidor podremos interactuar con las variables y métodos.

Todo lo realizado hasta este punto lo pueden ver junto con un amplio resumen de cada capitulo en este repositorio

Personalmente me gusta usar Awesome print en la consola interactiva de Rails. Me ayuda a leer mejor los objetos. Y cuando la uso con procesos de debbuging es mucho mejor.
Recomendada!

Buenísimo, no conocía pry, me recuerda a dd(); de laravel, aún busco algún debbuger para rails al estilo de dd de laravel 😃

This byebug is really cool!