2017-01-11 3 views
5

Я использую callgrind для профилирования небольшого фрагмента кода. Callgrind выходные файлы также генерируется, их содержание выглядит хорошо, но я не могу открыть их с KCachegrind: Я получаю следующее сообщение об ошибке:kcachegrind не удалось открыть файл callgrind

Не удалось открыть файл «callgrind.out.4953». Проверьте его, и у вас достаточно прав для его чтения.

У меня есть все разрешения на файлы и каталоги, в которых они находятся, но с той же проблемой. Кроме того, он хорошо работает с другим проектом, в другой папке в той же рабочей области. Я также уточняю, что в обоих случаях процессы корректно завершаются.

ответ

5

Недавно я сообщил разработчику kcachegrind проблему с точно такими же симптомами. Проблема запускается, когда callgrind используется с очень длинной командной строкой. Это было исправлено в следующих версиях valgrind/callgrind и kcachegrind. Найдите ниже лог фиксации для стороны valgrind. В ожидании новых выпусков valgrind и kcachegrind, если ваша проблема также связана с слишком длинной командной строкой, вы можете просто отредактировать файл и усечь строку cmd:. Если ваша проблема не является длиной строки cmd, то, я думаю, вам нужно будет использовать callgrind_annotate (если эта работа) или продолжить исследование, почему kcachegrind находит ваш файл проблематичным.

Автор: weidendo Дата: Вт 10 января 20:21:21 +2017 новая редакция: 16196

Log: Добавить формат маркера callgrind файлов

KCachegrind в настоящее время использует обнаружение быстрый формат, прежде чем на самом деле загрузка файла и проверка строки, начинающейся с «событий:» в первых 2 КБ для этого. Это, очевидно, является хрупким, как показано внутренним отчетом об ошибке от Филиппа: перед линией «событий» Callgrind ставит строку командной строки «cmd:». Если это очень долго, обнаружение завершается с ошибкой, и файл вообще не загружается.

В то время как KCachegrind не нужно иметь эту быструю проверку формата на , все это полезно, если несколько фильтров формата ввода поддерживаются в в некоторой точке, чтобы автоматически выбрать правильный фильтр.

Кроме того, для команды «файл» для менеджеров файлов и настольных компьютеров , имеющих уникальный способ определения формата файла, является .

Еще не поздно исправить эту проблему для формата callgrind.

+1

Это было так: у меня было много файлов в аргументе моей программы. Благодарю. – Greg82

+0

phd, какие версии kcachegrind/valgrind с исправлением? – osgx

+1

osgx: в настоящее время эти версии еще не выпущены. Вы должны построить valgrind и kcachegrind из хранилищ svn и git. – phd

Смежные вопросы