Análisis Dinámico
El analisis dinamico en ZinjaI permite detectar errores en la gestión de memoria de un programa. ZinjaI en realidad no realiza este análisis, sino que delega la tarea a Valgrind, y luego muestra sus resultados en un panel especial organizados en árbol. Valgrind es un conjunto de herramientas libres que ayuda en la depuración de problemas de memoria y rendimiento de programas. De este conjunto, ZinjaI por ahora sólo interactúa con Memcheck. Esta herramienta modifica el ejecutable (en RAM, no en disco) introduciendo código que permite detectar el uso de memoria no inicializada, la lectura o escritura en porciones de memoria que fueron previamente liberados, la lectura/escritura fuera de los límites en la memoria dinámica, fugas de memoria, etc.
Para realizar el analisis dinámico de un programa, debe ejecutarlo utilizando el comando Ejecutar del submenú Análisis Dinámico del menú Herramientas. En este tipo de ejecución, notará una pérdida de rendimiento debido a los cambios realizados por Valgrind. Cuando finaliza la ejecución de su programa, Valgrind genera una informe con los errores detectados (en realidad se va generando durante la ejecución, por lo que se puede consultar el estado parcial). Para visualizar estos resultados utilice la opción Mostrar Panel de Resultados del submenú Análisis Dinámico del menú Herramientas.
Debe notar que a diferencia del perfilado de ejecución realizado con gprof, para el correcto funcionamiento de Valgrind sólo es necesario que el ejecutable contenga información de depuración, pero no es necesario modificarlo en ningún otro sentido.
Para instalar Valgrind en GNU/Linux puede utilizar el gestor de paquetes de su distribución, o descargarlo desde www.valgrind.org. Dado que esta herramienta no está disponible para sistemas Microsoft Windows, la versión para Windows de ZinjaI no contendrá este submenú en Herramientas.
Nota: Para realizar un perfil de ejecución relacionado a los tiempos de ejecución el árbol de llamadas entre métodos/funciones utilice gprof.