3.5.3. Valgrind
Valgrind offre un certain nombre d'outils de détection et de profilage pour aider à améliorer les performances et la justesse de vos applications. Ces outils peuvent détecter les erreurs de mémoire et les erreurs liées aux threads, ainsi que les dépassements de capacité de tas, de pile(s) et de matrice(s), vous permettant ainsi de facilement identifier et corriger des erreurs dans le code de votre application. Ils peuvent aussi profiler le cache, le tas et la prédiction de branches pour identifier les facteurs pouvant augmenter la vitesse de l'application et minimiser son utilisation de mémoire.
Valgrind analyse votre application en l'exécutant sur un CPU synthétique et en instrumentant le code de l'application pendant son exécution. Puis il imprime « commmentary » (commentaire), identifiant ainsi clairement chaque processus impliqué dans l'exécution de l'application sur un descripteur de fichier, un fichier ou un socket de réseau spécifié par l'utilisateur. Le niveau d'instrumentation varie en fonction de l'outil Valgrind utilisé et de ses paramètres, mais il est important de remarquer que l'exécution du code instrumenté peut prendre de 4 à 50 fois plus longtemps qu'une exécution normale.
Valgrind peut être utilisé sur votre application tel quel, sans recompiler. Cependant, comme Valgrind utilise des informations de débogage pour identifier des problèmes dans votre code, si vos bibliothèques d'application et d'assistance n'ont pas été compilées avec les informations de débogage activées, il est recommandé de recompiler afin d'inclure ces informations.
À partir de Red Hat Enterprise Linux 6.4, Valgrind s'intègre avec gdb (« GNU Project Debugger ») pour améliorer l'efficacité du débogage.
Des informations supplémentaires sur Valgrind se trouvent dans le Guide du développeur, disponible sur http://access.redhat.com/site/documentation/Red_Hat_Enterprise_Linux/, ou en utilisant la commande
man valgrind
lorsque le paquetage valgrind est installé. Des documents accompagnateurs peuvent aussi être trouvés dans :
/usr/share/doc/valgrind-<version>/valgrind_manual.pdf
/usr/share/doc/valgrind-<version>/html/index.html
Pour obtenir des informations la manière d'utiliser Valgrind pour profiler la mémoire système, veuillez consulter la Section 5.3, « Utiliser Valgrind pour établir un profil de l'utilisation de mémoire ».