使用valgrind的massif和应用程序的参数参数

时间:2013-07-10 16:52:35

标签: c++ c memory-leaks valgrind mtrace

我的代码可执行为“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

有关如何使用多个命令行参数进行任何操作的任何建议。

0 个答案:

没有答案