Я немного поиграл с strace
а также ltrace
Это замечательные инструменты. Есть ли инструмент, который делает то же самое с функциями моих приложений?
Я в курсе system tap
а также ftrace
но для этого требуется отладочная версия ядра, которую я сейчас не могу установить. Мне не нужна трассировка ядра или системных вызовов.
Мне действительно нужно что-то вроде strace
возможность различать также по потокам и отображать функции по потокам.
Должен ли я реализовать это с помощью -finstrument-functions и предоставить printf вызываемой функции?
THREAD ID A function #1
THREAD ID B function #2
THREAD ID A function #3
THREAD ID A function #4
THREAD ID C function #5
Я прочитал этот пост в качестве ссылки
Инструмент для отслеживания локальных вызовов функций в Linux
Да, профилирование — единственный способ сделать это.
Все, что вы получите, — это адрес функции, который вы можете снова сопоставить с ее именем с помощью API dladdr ().
Всего наилучшего!!!!
Других решений пока нет …