在版本为valgrind --tool=massif benchmark1 --massif-out-file=test.out
的MacOS(10.12.6)上运行valgrind-3.13.0
时,将生成输出,但仅以默认文件名格式,即massif.out.\d+
生成。没有生成test.out
文件。示例输出为:
==32233== Massif, a heap profiler
==32233== Copyright (C) 2003-2017, and GNU GPL'd, by Nicholas Nethercote
==32233== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info
==32233== Command: benchmark1 --massif-out-file=./test.out
==32233==
我缺少什么,还是MacOS版本忽略了此功能?我还尝试将文件名放在引号中,但没有成功。
答案 0 :(得分:2)
根据上面的跟踪,您已经给出了valgrind --massif-out-file =。/ test.out 标杆1的选项,它可能默默地忽略了它。
您必须这样做:
valgrind ...valgrind options... your_program ....your program options....
因此,请尝试以下操作:
valgrind --tool=massif --massif-out-file=./test.out benchmark1
答案 1 :(得分:0)
在使用了一些valgrind工具(memcheck和massif)之后,我发现我们必须遵循以下规则:
valgrind --tool=... valgrind_option=... your_program program_argument