W Pub: ABAP Curso DBG

Esta es una de las mejores herramientas hechas por SAP. Lgicamente se puede mejorar de mil formas, pero en fin, dentro de lo que cabe este debug es bastante potente comparado con algunos de sus hermanos en otras plataformas.

El Debug se puede activar de varias formas:

  • Ejecutando un programa en modo debug
  • Poniento las sentencias BREAK-POINT o BREAK <usuario>
  • Fijando un breakpoint por cdigo fuente.
  • Poniendo un /h en la linea de comandos

Con una sencilla ojeada vemos que est dividido en tres grandes bloques:

  • Botoneras, donde podeos pasar de visualizacin de campos, tablas, watchpoints, etc...
  • El cdigo fuente es visible en todo momento, y siempre lleva un puntero indicando en que parte del cdigo fuente se encuentra.
  • La seccin de datos, tambin varia dependiendo de que es lo que estemos tratando: campos, tablas, break-points, etc...

Entre sus muchas ventajas podemos:

  • Modificar y visualizar campos, tablas y estructuras
  • Borrar registros enteros de una tabla interna.
  • Fijar Break-Points: Puntos de interrupcin incondicionales.
  • Fijar WatchPoints: Puntos de interrupcin condicionales.
  • Fijar Break-Points en sentencias especficas.
  • Ver todas las llamadas de los programas
  • Analizar las zonas de memrias, DSEG, EXPORT, DATASETS

En definitiva es una gran herramienta para encontrar los posibles errores que puedan tener nuestras aplicaciones.

El arte del DEBUG

Realmente uno se puede estar horas y horas debugando y perdiendo el tiempo sin econtrar absolutamente nada o en el peor de los casos no enteder el porque de las cosas. La unica slucin que existe para ello es la experiencia, pero como de eso suponemos que no tenemos lo nico que podemos hacer es seguir ciertos consejos:

  • Los break-points son herramientas realmente extraordinarios por ello, cuando estan bien colocados nos puede salvar la vida, el problema es que los break-points se pierden cada vez que re-ejecutamos el programa, por ello una buena opcin es grabar continuamente los break-points o hacer que dichos break-points sean de source.
  • Hay que saber utilizar los Watch-Points, ya que muchas veces estamos haciendo selects a las tablas y estan nos pueden petar por problemas de Time-Out, por ello utilizando los Watch-Points y parandonos justo cuando leemos el registro adecuado, solventaremos mucho tiempo perdido.
  • Si se est buscando por que aparece un mensaje, los ms sencillo seria poner un break-point a nivel de sentencia message para que nos pare antes de que saque un mensaje del tipo a/x/s/i/e. De esta forma podemos cambiar la variable que nos da el mensaje para que este no aparezca.
  • Utilizas los Execute y los Return para hacer una rpida aproximacin a donde realmente se encuentra el problema, ves poniendo break-points y grabando continuamente. Utiliza slo el Step para ir con detalle.