Как использовать 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
использует профилирование на основе выборок, и оно не выполняется достаточно долго, чтобы брать какие-либо образцы.