如何使用valgrind检查许多可执行文件,而无需长时间盯着终端



我有很多可执行文件,我想使用 valgrind 进行内存检查。

我正在使用以下命令进行内存检查:

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

我必须长时间盯着终端才能发现我的代码中是否存在任何内存问题。

瓦尔格林德能给我们带来一些价值吗?值代表是否存在问题。而壳牌可以操作价值。因此,我们可以编写一些脚本并自动得出可执行文件中是否存在任何问题的结论。

例如,我想要这样的东西:

exist_problem = valgrind -q ./a1.out
if [exist_problem == no]
   printf "ALL PASSn"
fi

提前谢谢。

查看瓦尔格林德选项

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

最新更新