Ответ 1
valgrind --log-file="filename"
Во время работы с инструментом Valgrind мне нужно записать данные, созданные инструментом valgrind. Как я могу это сделать? Я попробовал что-то вроде,
valgrind a.out | test
а также
valgrind a.out > test
Он дал только выход программы, а не ошибку памяти valgrind, информацию о утечке. Даже я получаю, как это, если программа не требует взаимодействия с пользователем (т.е. ввода ввода). Если программе требуется ввод пользователя, даже сама эта вещь не будет работать.
Как я могу это сделать?
valgrind --log-file="filename"
По умолчанию Valgrind записывает свой вывод в stderr. Поэтому вам нужно сделать что-то вроде:
valgrind a.out > log.txt 2>&1
В качестве альтернативы, вы можете сказать Valgrind, чтобы написать где-то в другом месте; см. http://valgrind.org/docs/manual/manual-core.html#manual-core.comment (но я никогда не пробовал это).
Вы также можете установить параметры --log-fd, если вы просто хотите читать свои журналы с меньшим количеством. Например:
valgrind --log-fd=1 ls | less