1) -v或者--verbose,带此参数的话,那么valgrind会将测试过程中的详细信息打印出来;
2) --eror-limit=<no|yes>,若为yes,则当这轮测试检测出了超过10,000,000个错误,或者有1,000个不同类型的错误的话,就停止报错;如果是no的话,则没有这个限制,无论有多少个错误或多少类型的错误,都会报告出来。默认,如果不特别指定的话,这个选项的值是yes;
3) --trace-children=<no|yes>,如果是yes的话,则Valgrind不仅会检查被启动程序的主进程,还会检查由主进程fork出来的子进程。默认的值是no;
4) --track-fds=<no|yes>,若为yes则Valgrind还会记录所有打开的文件句柄,这样有助于查找到潜在的句柄泄露问题,默认值是no;
5) --log-file=<LOG FILE NAME>,通过设定该参数,将Valgrind发现的问题记录到指定的文件中。特别说明一下,参数中有一个“%p”的参数,Valgrind会自动将其替换成当前进程的ID。前面也提到了,Valgrind会追踪子进程,因此如果文件名不区分进程号的话,所有的问题都会被记录到一个文件中,会比较混乱,不利于后面的分析;
6) --tool=<TOOL NAME>,Valgrind除了可以用来检查内存错误外,还有其它功能。所以,这个参数是指定Valgrind到底使用哪个分析工具。默认情况下,Valgrind缺省会运行memcheck工具。因此,这个参数指不指定无所谓;
7) --leak-check=<no|summary|full>,如果设置成summary,则只会显示发现了多少个问题,不会显示细节;如果设置成yes或full,则会显示每个错误的细节。默认值是summary。
8) --track-origins=<no|yes>,默认值是no,则Valgrind只知道某个变量是否未被初始化就被使用了,但并不知道这个未初始化变量定义在哪里。如果设置成yes,则会保存每个未初始化变量的位置;
1352

被折叠的 条评论
为什么被折叠?



