2015-10-30 50 views
4

我试图分析我的计划与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== Error: can not open cache simulation output file `/home/user/callgrind.3117.1014'

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

任何想法如何解决这个问题?不幸的是,Google没有帮助。

回答

-1

先试更基本的东西,即

  1. 不给--callgrind出文件
  2. --instr,在启动=无
  3. 不要不给选择权插入CALLGRIND_START/STOP_INSTRUMENTATION

所以,换句话说,只是做: 的valgrind --tool = callgrind your_program your_program_args

然后,当简单的基本用法起作用时,尝试一次添加一件东西。

通常,'无法打开缓存模拟'是因为目录 不存在或不可写或类似问题。 如果基本用法是不行的,提交有关Valgrind的Bugzilla的错误,给 的相关信息(平台/版本/ ...)

0

我去同样的问题,我解决了将项目和运行区段从“在终端中运行”删除勾号