kcachegrind 无法打开 callgrind 文件
Posted
技术标签:
【中文标题】kcachegrind 无法打开 callgrind 文件【英文标题】:kcachegrind unable to open callgrind file 【发布时间】:2017-05-26 02:40:41 【问题描述】:我正在使用 callgrind 来分析一小段代码。 Callgrind 输出文件生成良好,它们的内容看起来不错,但我无法使用 kcachegrind 打开它们:我收到以下错误消息:
无法打开文件“callgrind.out.4953”。检查它是否存在并且你有足够的权限来阅读它。
我对它们所在的文件和目录拥有所有权限,但问题相同。此外,它也适用于同一工作区的另一个文件夹中的另一个项目。我还明确指出,在这两种情况下进程都会正确终止。
【问题讨论】:
【参考方案1】:我最近向 kcachegrind 开发人员报告了一个具有完全相同症状的问题。当 callgrind 与很长的命令行一起使用时会触发该问题。这在 valgrind/callgrind 和 kcachegrind 的下一个版本中得到了修复。 在 valgrind 端的提交日志下方找到。 如果您有问题,请等待 valgrind 和 kcachegrind 的新版本 也是由于命令行太长,您可以编辑文件并截断 cmd: 行。 如果您的问题不是 cmd 行的长度,那么我想您将需要使用 callgrind_annotate (如果可行)或进一步调查 kcachegrind 发现您的文件有问题的原因。
作者:weidendo 日期:2017 年 1 月 10 日星期二 20:21:21 新修订:16196
日志:为 callgrind 文件添加格式标记
KCachegrind 目前在实际使用之前使用快速格式检测 加载文件,并检查以“事件:”开头的行 第一个 2kB。这显然是脆弱的,如内部所示 Philippe 的错误报告:在“事件”行之前,Callgrind 放置了一个 "cmd:" 行与命令行。如果这个时间很长,检测 失败并且文件根本没有加载。
虽然 KCachegrind 不需要在 总而言之,如果多个输入格式过滤器在 某个点,自动选择正确的过滤器。
此外,对于“文件”命令,对于文件管理器和桌面 环境中,具有检测文件格式的独特方法是 很重要。
现在为 callgrind 格式解决这个问题还为时不晚。
【讨论】:
实际上就是这样:我的程序参数中有很多文件。谢谢。 phd,有哪些版本的 kcachegrind/valgrind 修复? osgx :目前,这些版本尚未发布。您必须从 svn 和 git 存储库构建 valgrind 和 kcachegrind。以上是关于kcachegrind 无法打开 callgrind 文件的主要内容,如果未能解决你的问题,请参考以下文章
使用 KCacheGrind 聚合 PHP XDebug 数据