Как использовать gprof в Linux?

У меня есть C-код в файле test.c Я должен профилировать его с помощью grof. Я использовал следующие команды для этого.

gcc -p -o result test.c
./result
gprof result

Раздел вывода выглядит следующим образом:

"Плоский профиль: каждый образец считается за 0,01 секунды. нет времени накапливается

% кумулятивная самооценка
время секунды секунды звонки Ц / звонок Ц / звонок имя`

Проблема не в том, какую сложную или простую программу я использую, каждый отсчет выборки не изменяется с 0,01 секунды. Почему так происходит, и время не накапливается и не отображается под различными столбцами.

1 ответ

Вы используете неправильный параметр командной строки для gcc. -p для другого, более старого профилировщика - для gprof, тебе нужно -pg,

Если вы все еще не видите накопленного времени, это просто означает, что ваша программа не потребляет достаточное количество процессорного времени для регистрации - gprof использует профилирование на основе выборок, и оно не выполняется достаточно долго, чтобы брать какие-либо образцы.

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