Как использовать valgrind для проверки множества исполняемых файлов, не уставившись на терминал в течение длительного времени? - PullRequest
0 голосов
/ 11 июня 2019

У меня много исполняемых файлов, и я хочу использовать valgrind для проверки памяти.

Я использую следующую команду для проверки памяти:

valgrind -q ./a1.out
valgrind -q ./a2.out
...
valgrind -q ./a100.out

Я долженпосмотрите на терминал в течение долгого времени, чтобы найти, есть ли проблема с памятью в моем коде.

Может ли valgrind вернуть нам какое-нибудь значение?Значение означает, существует проблема или нет.И оболочка может управлять значением.Таким образом, мы можем написать некоторый скрипт и автоматически получить заключение о том, есть ли проблема в исполняемых файлах.

Например, я хочу что-то вроде этого:

exist_problem = valgrind -q ./a1.out

if [exist_problem == no]
   printf "ALL PASS\n"
fi

Заранее спасибо.

1 Ответ

1 голос
/ 11 июня 2019

Посмотрите на опцию valgrind

--error-exitcode=<number> exit code to return if errors found [0=disable]

Если вы используете memcheck, вы также можете определить, какие утечки являются ошибками:

--errors-for-leak-kinds=kind1,kind2,..  which leak kinds are errors?
                                        [definite,possible]

Наконец, вы также можете перенаправить вывод valgrind в файл, используйте

--error-markers=<begin>,<end> add lines with begin/end markers before/after
                          each error output in plain text mode [none]

и grep в ваших выходных файлах.

...