gprof: неожиданный EOF после прочтения 48/271618093 ячеек?
Кто-нибудь знает, что означает эта ошибка gprof
? я бегу gcc -pg
, Благодарю.
3 ответа
Трудно сказать с таким небольшим количеством информации. Это может произойти, в частности, если вы напутали с аргументами, которые вы даете gprof
, как сообщается здесь (что было трудно найти, потому что это только 2-й хит Google для названия вашего вопроса).
Редактировать: так, дважды проверьте ваши аргументы. Если вы хотите, чтобы мы проверили их для вас, сообщите о командной строке, которую вы использовали, и о том, как были сгенерированы различные файлы. Как правило: мы не можем угадать.
Поскольку этот вопрос является лучшим результатом в Google:
Вы, вероятно, неправильно запустили gprof, скомпилируйте с флагом -pg, запустите ваш двоичный файл, он также выведет файл "gmon.out"
затем запустите:
gprof {executable} gmon.out > profile
файл профиля должен содержать результаты gprof
Я столкнулся с той же проблемой. Я запускал gprof сразу после компиляции кода на исполняемый файл. Нам нужно сделать следующее:
Скомпилируйте код с помощью опции -pg -g следующим образом:
gcc -g -pg myfile.c -o myfile.out
Запустите исполняемый файл без использования gprof первым (при первом запуске создается gmon.out)
myfile.out 100 200 400%, где 100, 200 и 400 - мои входные параметры для myfile.out
Шаг 2 создает gmon.out по умолчанию. Вам необходимо передать этот файл и исполняемый файл в gprof, чтобы создать профиль времени выполнения исполняемого файла.
gprof myfile.out gmon.out% перенаправляет это в файл
Файл будет содержать исполняемый профиль.