我的代码可执行为“demonst”>我希望对thios可执行文件进行简洁的内存分析。我已经通过了valgrind的massif工具,发现它可以获取我正在寻找的结果。虽然我遇到了一些小问题。
我的可执行文件采用了各种各样的参数,没有它不会运行,例如./demonstrate -t 10 -p 1 -P 3
一旦我在上述声明中运行地块,它告诉我 “分配堆时出错”
taskset -c 0-10 valgrind --tool=massif ./demonstrate -t 10 -p 1 -P 3
==4140== Massif, a heap profiler
==4140== Copyright (C) 2003-2010, and GNU GPL'd, by Nicholas Nethercote
==4140== Using Valgrind-3.6.0 and LibVEX; rerun with -h for copyright info
==4140== Command: ./demonstrate -t 10
==4140==
Error allocating heap
==4140==
mtrace发生了类似的问题。包含mcheck标题,并在开头和结尾调用mtrace和muntrace,并尝试调用演示 e.g
mtrace ./demonstrate -t 10 -p 1 -P 3 -f file.txt mALLOCoUT.TXT
Wrong number of arguments, run /usr/bin/mtrace --help for help. at /usr/bin/mtrace line 89.
虽然当我运行没有valgrind选项的应用程序时,应用程序运行良好:
./demonstrate -t 10 -p 1 -P 3
Opened 1
Opened 2
Opened 3
Allocated huge page size=1073741824
Pushed 262144 pages
有关如何使用多个命令行参数进行任何操作的任何建议。