3.5.3. Valgrind
Valgrind ofrece una serie de herramientas que colaboran con el rendimiento y exactitud de nuestras aplicaciones. Estas herramientas pueden detectar errores de memoria y de hilos relacionados, y sobrecargas de montículo, pila y matrices, que le permiten localizar y corregir fácilmente errores en su código de aplicación. Pueden también perfilar la memoria cache, el montículo y predicción de saltos para identificar los factores que incrementan la velocidad de aplicaciones y minimizan el uso de memoria de aplicaciones.
Valgrind analiza su aplicación al ejecutarla en una CPU sintética e instrumentando el código de aplicación existente mientras se ejecuta. Imprime luego "commentary" identificando de forma clara el proceso implicado en la ejecución de la aplicación para un descriptor de archivos de usuario especificado. El nivel de instrumentación varía según la herramienta Valgrind en uso y sus parámetros, pero es importante observar que al ejecutar el código instrumentado puede tardar de 4 a 50 veces más que la ejecución normal.
Valgrind puede servir para usar su aplicación tal como está, sin recompilar. Sin embargo, puesto que Valgrind usa información de depuración para señalar los problemas en su código, si sus bibliotecas de aplicaciones y soporte no estuvieran compiladas con información de depuración habilitada, es sumamente recomendable incluir dicha información.
A partir de Red Hat Enterprise Linux 6.4, Valgrind se integra con gdb (Proyecto de depuración GNU) para mejorar la eficiencia de depuración.
Par obtener mayor información sobre Valgrind, consulte la Guía del desarrollador, disponible en http://access.redhat.com/site/documentation/Red_Hat_Enterprise_Linux/, o al usar el comando
man valgrind
cuando sea instalado el paquete de valgrind. También encontrará documentación en:
/usr/share/doc/valgrind-<versión>/valgrind_manual.pdf
/usr/share/doc/valgrind-<version>/html/index.html
Para mayor información sobre el uso de Valgrind para perfilar la memoria del sistema, consulte la Sección 5.3, “Cómo utilizar Valgrind para perfilar el uso de memoria”.