Oh No! Mi debug log está saltándose líneas!

Tweet about this on TwitterShare on Facebook0Share on Google+0Share on LinkedIn0Digg thisBuffer this pageEmail this to someone

cloud2

Hace un par de semanas me volví loco. Había ejecutado un debug log, o en cristiano, archivo de ejecución del sistema, para comprobar por qué no estaba creando cierta entrada de un objeto. Ya que el sistema de debugging de salesforce deja mucho que desear, la única forma de seguir tu código es  introducir(como de costumbre) una línea de salida de texto por pantalla para poder seguir la línea que estamos ejecutando, si estamos entrando en el if que queríamos, o qué valor tiene en cierto punto un variable, entre otras muchas cosas.  Para ello, debemos introducir la siguiente línea de código en nuestro controlador:

Para ejecutar un degub log, y poder ver esta salida de texto por consola, nos iremos Administration Setup → Monitoring → Debug Logs y seleccionaremos el usuario que queremos monitorear, vamos el que está ejecutando la aplicacion, que puede ser uno mismo u otro (add Monitored users).

 Mi problema surgió cuando abrí el archivo y no podía encontrar esta línea de texto por ningún lado. Se había evaporado, pero tenía la certeza de que mi código estaba pasando por ese punto. Entonces vi una línea en mi degub log como esta: *** Skipped XXXXXX bytes of detailed log –

Eureka, no me he vuelto loco. Al parecer cuando tu Debug Log está entorno a los 7 MB, salesforce no muestra líneas de ejecución que cree innecesarias, y así poder crear un debug log de no más de 7 megas. Y esto lo hace automáticamente. Para poder ver nuestro sytem.debug debemosrealizar un filtro en nuestro log antes de ejecutarlo, de esta forma, seremos nosotros los que obviemos el código que no nos interesa, ya que salesforce muestra todos los procesos ejecutados, sean del tipo que sean.

En este caso mostraré solo las líneas de ejecución que tengan que ver con llamadas a la base de datos (queries) y código apex (vamos la categoría donde se encuentran los system.debug).

cloud1

cloud3

Fijamos nuestro nuevo filtro de debbuging y magia! Ese system.debug perdido en el tiempo aparece, pero por desgracia viene cargado de malas noticias y mi aplicación sigue sin funcionar correctamente. 🙁 toca modificar el código y volver a debbugear de nuevo.

Que tengáis buenos SalesForce 😉

,