kcachegrind无法打开callgrind文件

时间:2017-01-11 10:40:50

标签: profiling valgrind callgrind kcachegrind

我正在使用callgrind来分析一小段代码。 Callgrind输出文件生成良好,内容看起来不错,但我无法用kcachegrind打开它们:我收到以下错误消息:

  

无法打开文件“callgrind.out.4953”。检查它是否存在,并且您有足够的权限来阅读它。

我对他们所在的文件和目录拥有所有权限,但问题相同。此外,它适用于同一工作区中的其他文件夹中的其他项目。我还确切地说,在两种情况下进程都正确终止。

1 个答案:

答案 0 :(得分:7)

我最近向kcachegrind开发人员报告了一个完全相同症状的问题。当callgrind与很长的命令行一起使用时会触发该问题。这已在valgrind / callgrind和kcachegrind的下一个版本中修复。 在下面找到valgrind端的提交日志。 如果你的问题,等待valgrind和kcachegrind的新版本 也是由于命令行太长,您只需编辑文件并截断​​cmd:行。 如果您的问题不是cmd行的长度,那么我猜你需要使用callgrind_annotate(如果这项工作)或进一步调查为什么kcachegrind发现你的文件有问题。

  

作者:weidendo日期:2017年1月10日星期二20:21:21新版本:16196

     

日志:为callgrind文件添加格式标记

     

KCachegrind目前实际上使用快速格式检测   加载一个文件,并检查一个以“events:”开头的行   首先是2kB。如内部所示,这显然是脆弱的   Philippe的错误报告:在“事件”行之前,Callgrind提出了一个问题   “cmd:”与命令行对齐。如果这很长,检测   失败,文件根本没有加载。

     

虽然KCachegrind不需要进行快速格式检查   所有,如果支持多个输入格式过滤器,它会很有用   某些方面,要自动选择正确的过滤器。

     

此外,对于“file”命令,对于文件管理器和桌面   环境,具有检测文件格式的独特方式   重要的。

     

为callgrind格式修复此问题还为时不晚。