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

Кто-нибудь знает, что означает эта ошибка gprof? я бегу gcc -pg, Благодарю.

3 ответа

Решение

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

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

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

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

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

gprof {executable} gmon.out > profile

файл профиля должен содержать результаты gprof

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

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

    gcc -g -pg myfile.c -o myfile.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% перенаправляет это в файл

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

Другие вопросы по тегам