Я хочу профилировать свой код. Поэтому я:
valgrind --tool=callgrind my_program [programm arguments]
kcachegrind callgrind.out.x
Теперь у меня есть окно kcachegrind
:
Существует множество функций ядра и библиотеки, но как я могу настроить valgrind
или kcachegrind
для отслеживания только функций в моем коде (что, конечно, вызывает библиотечные функции)?
Ожидаемый результат выглядит примерно так:
time number of calls function_name()
4,52% 569854 CSim2Sim my_function1(int argc, char* argv[])
3,52% 452158 CSim2Sim my_function2(int argc, char* argv[])
3,52% 36569 CSim2Sim my_function3(int argc, char* argv[])
1,52% 1258 CSim2Sim my_function4(int argc, char* argv[])