Tipos de debugger

 

Cuando queremos depurar nuestro código, hay tres tipos de debugger, que de menos evolucionado a más evolucionado son:

  1. Poner prints, compilar, ejecutar y mirar la traza. Ponemos más prints, volvemos a ejecutar y volvemos a mirar la traza. Así, por aproximaciones sucesivas, vamos aislando el problema hasta que damos con él.
  2. Usar un debugger propiamente dicho, el que venga con el compilador o el de nuestro IDE favorito. Ponemos breakpoints, watches, inspects y similares. Ejecutamos el códido y vamos dándole a "step over", "step into" y demás variantes. De esta forma, llegamos más lentos que en el paso anterior al error, ya que tenemos que aprender a usar el debugger y si apenas sabemos programar, es pedir demasiado.
  3. La opción buena. Cogemos nuestro proyecto y lo metemos un un zip. Hacemos un copy-paste del error/excepción que nos sale y lo subimos todo a varios foros junto con una explicación más o menos elaborada, pero sobre todo misteriosa (estilo "lo tengo todo bien pero no funciona"). Esta es la forma más cómoda, con un poco de suerte, el bug se soluciona solo y además usamos las metodologías más avanzadas (el internet) y compartimos conocimientos (otros pueden aprender de nuestros errores).

Lo siento. A veces me espanto con lo que veo en los foros …

Esta entrada ha sido publicada en varios y etiquetada como , . Guarda el enlace permanente.

6 respuestas a Tipos de debugger

  1. Maks dijo:

    Un post actual con referencia al cloud debugger tan de moda 😉

  2. Nunca he usado la tercera, creo que me he quedado atrasado en mis métodos T.T

  3. Pingback: ¿Qué tipo de depurador utilizas?

  4. Eduardo dijo:

    Un debugger que no se menciona es otro. Por ahí el buffer de consola no imprime cosas, porque el proceso muere antes de que me muestre mi printf (me pasó cuando tenía que abrir algunos sockets en c pelado). Quería detectar un seg fault. Lo que hice es poner «while(1)» por ahí y allí. Si el programa se trababa, la aplicación había llegado a mi sentencia. Sinó, saltaba el segfault. Es de las cosas mas feas que hice como programador, no lo recomiendo. Pero la falta de recursos, la poca experiencia con los debuggers y los deadline te hacen hacer cosas realmente estúpidas. Así que cualquier chico que está empezando a programar en c, java, o usan un entorno con debugging les recomiendo fuertemente que aprendan a aprovechar tan poderosas herramientas.

  5. atreyu dijo:

    juass un aspecto mas del «cloud programming»
    Me estoy quedando obsoleto…tengo la mania de entender lo que hago y si se arregla algo si saber por que se ha arreglado me quedo menos tranquilo que si no lo arreglo pero se por que no puedo arreglarlo.

  6. tuxifer dijo:

    El primero lo he utilizado mucho con javascript que no tengo forma de saber donde explota sino es con los alert, por ejemplo: alert(«Hasta aquí voy bien jejejeje»). Aunque la verdad que ya hay muchas herramientas que nos dan una orientación bastante certera de donde es que está el error como el firebug

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.