Valgrind错误 - 无法打开缓存模拟输出文件

时间:2015-10-30 12:26:08

标签: valgrind

我尝试用 Valgrind

分析我的程序
valgrind --tool=callgrind --callgrind-out-file=/home/user/callgrind.%p --instr-atstart=no ./src/Leonardo --https leosd:11443

在我到达目标配置文件功能的文件后,我有:

CALLGRIND_START_INSTRUMENTATION;

/* a lot of code to profile */

CALLGRIND_STOP_INSTRUMENTATION;
CALLGRIND_DUMP_STATS;

程序崩溃,控制台中的输出为:

  

== 3117 ==错误:无法打开缓存模拟输出文件`/home/user/callgrind.3117.1014'

P.S。如果我从QtCreator运行valgrind并从应用程序启动中进行分析,那么它运行得很完美,但我不需要这个。

知道怎么解决这个问题吗?不幸的是,谷歌没有帮助。

2 个答案:

答案 0 :(得分:0)

我有同样的问题,我解决了去项目,并在运行部分删除了"在终端"

中运行的勾号

答案 1 :(得分:-1)

首先尝试更基本的东西,例如

  1. 不提供选项--callgrind-out-file
  2. 不提供选项--instr-at-start = no
  3. 不要插入CALLGRIND_START / STOP_INSTRUMENTATION
  4. 所以,换句话说,就是:     valgrind --tool = callgrind your_program your_program_args

    然后,当简单的基本用法有效时,尝试一次添加一个东西。

    通常,'无法打开缓存模拟'是因为目录 不存在或不可写或类似的问题。 如果基本用法不起作用,请在Valgrind bugzilla上提交bug 相关信息(平台/版本/...)