web-dev-qa-db-fra.com

Comment rediriger la sortie de Valgrind vers un fichier?

Lorsque je travaille avec l'outil Valgrind, je dois consigner les détails produits par l'outil Valgrind. Comment puis-je accomplir cela? J'ai essayé quelque chose comme

 valgrind a.out | test

et

 valgrind a.out > test

Il ne donnait que la sortie du programme et non l'erreur de mémoire Valgrind, des informations de fuite. Même si je deviens comme ça si le programme ne nécessite aucune interaction de l’utilisateur (c’est-à-dire en donnant son mot à dire) Si le programme nécessite l'intervention de l'utilisateur, même cette chose ne fonctionnera pas.

Comment puis-je faire ceci?

133
Dinesh
valgrind --log-file="filename"
391
Vasileios Lekakis

Par défaut, Valgrind écrit sa sortie sur stderr. Donc, vous devez faire quelque chose comme:

valgrind a.out > log.txt 2>&1

Vous pouvez également demander à Valgrind d’écrire ailleurs; voir http://valgrind.org/docs/manual/manual-core.html#manual-core.comment (mais je n'ai jamais essayé cela).

75

Vous pouvez également définir les options --log-fd si vous voulez simplement lire vos journaux avec moins. Par exemple :

valgrind --log-fd=1 ls | less
8
Ziad