gprof: неожиданный EOF после чтения 48/271618093 ячеек?

Кто-нибудь знает, что означает эта ошибка для gprof? Я бегу gcc -pg. Спасибо.


person Dervin Thunk    schedule 02.01.2011    source источник
comment
Какая платформа? Также вы имели в виду samples вместо bins?   -  person ismail    schedule 02.01.2011
comment
Не могу вам помочь, если все, что вы хотите сделать, это запустить gprof. Если вы хотите найти проблемы с производительностью, сделать это.   -  person Mike Dunlavey    schedule 03.01.2011


Ответы (3)


Трудно сказать, имея так мало информации. Это может произойти, в частности, если вы перепутали аргументы, которые вы даете gprof, как сообщается здесь (это было трудно найти, потому что это всего лишь второй поиск Google по заголовку вашего вопроса).

Изменить: так что перепроверьте свои аргументы. Если вы хотите, чтобы мы проверили их для вас, сообщите об использованной вами командной строке и о том, как были сгенерированы различные файлы. Как правило: мы не можем угадать.

person F'x    schedule 02.01.2011

Поскольку этот вопрос является лучшим результатом в Google:

Вы, вероятно, неправильно запустили gprof, скомпилируйте с флагом -pg, выполните свой двоичный файл, он также выведет файл "gmon.out"

затем запустите:

gprof {executable} gmon.out > profile

файл "profile" должен содержать результаты gprof

person dvhh    schedule 28.03.2012
comment
+1. Я думаю (не уверен), что проблема в том, что если ваша программа не называется a.out, gprof откажется, если вы не укажете ей явный исполняемый файл. - person wchargin; 11.04.2015

Я столкнулся с той же проблемой. Я запускал gprof сразу после компиляции кода в исполняемый файл. Нам нужно сделать следующее:

  1. Скомпилируйте код, используя опцию -pg -g следующим образом:

    gcc -g -pg мой файл.c -o мой файл.out

  2. Запустите исполняемый файл без использования gprof (при первом запуске создается gmon.out)

    myfile.out 100 200 400 %, где 100, 200 и 400 — мои входные параметры для myfile.out

  3. Шаг 2 создает gmon.out по умолчанию. Вам нужно передать это и исполняемый файл в gprof, чтобы создать профиль времени выполнения исполняемого файла.

    gprof myfile.out gmon.out % перенаправить это в файл

Файл будет содержать исполняемый профиль.

person Shehbaz Jaffer    schedule 10.12.2015