используя опцию gprof -f в Linux для переполнения стека

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

например

                 Call graph (explanation follows)granularity: each sample hit covers 4 byte(s) no time propagated

index % time    self  children    called     name
0.00    0.00       1/1           __do_global_ctors_aux [13]
[5]      0.0    0.00    0.00       1         global constructors keyed to main [5]
0.00    0.00       1/1           __static_initialization_and_destruction_0(int, int) [6]
-----------------------------------------------
0.00    0.00       1/1           global constructors keyed to main [5]
[6]      0.0    0.00    0.00       1         __static_initialization_and_destruction_0(int, int) [6]
-----------------------------------------------
0.00    0.00       1/1           main [4]
[7]      0.0    0.00    0.00       1         car::DisplayPrice() [7]
-----------------------------------------------
0.00    0.00       1/1           main [4]
[8]      0.0    0.00    0.00       1         car::showc() [8]
-----------------------------------------------
0.00    0.00       1/1           main [4]
[9]      0.0    0.00    0.00       1         car::car(std::string, int) [9]
0.00    0.00       1/1           vehical::vehical(int, int) [12]
-----------------------------------------------
0.00    0.00       1/1           main [4]
[10]     0.0    0.00    0.00       1         car::~car() [10]
-----------------------------------------------
0.00    0.00       1/1           main [4]
[11]     0.0    0.00    0.00       1         vehical::show() [11]
-----------------------------------------------
0.00    0.00       1/1           car::car(std::string, int) [9]
[12]     0.0    0.00    0.00       1         vehical::vehical(int, int) [12]
-----------------------------------------------

Теперь, если я укажу

gprof -f car::car(std::string, int) a.out gmon.out

я получаю ошибку

синтаксическая ошибка рядом с неожиданным токеном ‘(‘

сейчас, если я сделаю

gprof -f car :: car (std :: string, int) a.out gmon.out

я получаю ошибку

Данный файл или каталог отсутствует

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

Может кто-нибудь, пожалуйста, помогите мне с этим ??
заранее спасибо

1

Решение

() берется вашей оболочкой. Попробуйте вот так:

gprof -f 'car::car(std::string, int)' a.out gmon.out
3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]