【问题标题】:kcachegrind unable to open callgrind filekcachegrind 无法打开 callgrind 文件
【发布时间】:2017-05-26 02:40:41
【问题描述】:

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

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

我对它们所在的文件和目录拥有所有权限,但问题相同。此外,它也适用于同一工作区的另一个文件夹中的另一个项目。我还明确指出,在这两种情况下进程都会正确终止。

【问题讨论】:

    标签: profiling valgrind callgrind kcachegrind


    【解决方案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。
    猜你喜欢
    • 2011-12-30
    • 2013-06-17
    • 2019-01-06
    • 2011-11-21
    • 1970-01-01
    • 2010-10-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多