Perf linux tool : Имя функции не отображается в колонке символов [закрыто]

Я не уверен, что это правильный форум.

Я пытаюсь проверить простой скомпилированный c-код, но не могу увидеть его главные и дочерние функции в отчете perf. Все, что я вижу, это системные функции и шестнадцатеричные значения. Где я могу отследить мои функции main() и addition()?

#include <stdio.h>
int addition(int num1, int num2)
{
 int sum;
 /* Arguments are used here*/
 sum = num1+num2;

 /* Function return type is integer so we are returning
  * an integer value, the sum of the passed numbers.
  */
 return sum;
 }

  int main()
 {
 int var1=32, var2=23;

 /* Calling the function here, the function return type
  * is integer so we need an integer variable to hold the
  * returned value of this function.
  */
 int res = addition(var1, var2);
 printf ("Output: %d", res);

 return 0;
  }

Я скомпилировал его, используя gcc t.c -g -fno-omit-frame-pointer -o t. perf -g report ./t perf record -g

Я не могу увидеть свои функции в колонке символов. Report

0
задан 31 May 2018 в 11:05

1 ответ

Я проверил Ваш пример и на моем ноутбуке (Ubuntu 16.04; версия 4.4.128 перфекта) я вижу имя функции, но не всех их.

Я использовал команду perf report для проверки профилирования, и я получил это.

Многие из строки являются шестнадцатеричными адресами, потому что они соответствуют функции земли ядра, и я не разработчик ядра. IIRC инструменты перфекта являются использованием, чтобы представить или получить большую информацию о поведении ядра, таким образом, это не действительно хорошо адаптировано к программе пространства пользователя.

Почему Вы не используете gprof?

0
ответ дан 29 October 2019 в 05:25

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

Похожие вопросы: