Valgrind

De SeRoM - Wiki
Aller à : navigation, rechercher
Draft Draft / Brouillon
Cette page/chapitre est un brouillon, pas un article ou une règle, et peut être incomplète ou non-fiable! Vous êtes invités à faire des suggestions en page de discussion.

cachegrind

Pour compter les miss des caches mémoire.

Usage

 valgrind --tool=cachegrind myProgram

Versus perf

L'outil perf permet également de compter les miss des caches mémoire. Mais contrairement à valgrind cachegrind il ne procède pas à une 'simulation'. Il va relever les compteurs physiques avant et après l'exécution du programme. Cela ne nous permet malheureusement pas d'obtenir le pourcentage d'appels manqués par rapport au nombre total d'appels mémoire.

Lister les compteurs que perf a à sa disposition:

 perf list

Monitorer le nombre de chache miss:

 perf stat -e cache-misses myProgram

memcheck

Usage

L'outil memcheck permet de détecter les fuites mémoire.

 valgrind --tool=memcheck myProgram
   ...
   ==16703== LEAK SUMMARY:
   ==16703==    definitely lost: 263,192,576 bytes in 251 blocks
   ==16703==    indirectly lost: 0 bytes in 0 blocks
   ==16703==      possibly lost: 5,242,880 bytes in 5 blocks
   ==16703==    still reachable: 0 bytes in 0 blocks
   ==16703==         suppressed: 0 bytes in 0 blocks

Tip

Tips memcheck est l'outil par défaut de valgrind. On est donc pas obliger de mettre l'argument
''--tool\=memcheck.''

Si vous avez les sources vous pouvez faire un test plus en détail:

 valgrind --tool=memcheck --leak-check=full myProgram

Cela devrait vous pointer les lignes de code générant les fuites!