如何使用valgrind检查许多可执行文件而又不用长时间盯着终端?

时间:2019-06-11 09:23:36

标签: shell valgrind

我有很多可执行文件,我想使用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 个答案:

答案 0 :(得分:1)

查看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。