В настоящее время я ищу быстрый способ реализовать мою идею, для которой мне понадобится числовой подсчет для всех функций, вызываемых внутри двоичного исполняемого файла, во время выполнения. Насколько мне известно, инструмент Intel PIN может подсчитывать обычные вызовы и количество инструкций внутри этих процедур (см. здесь: https://software.intel.com/sites/landingpage/pintool/docs/67254/Pin/html/index.html#ProcInstrCount). Но что происходит, когда таблица символов недоступна? Может ли PIN справиться с этим?
Мне не нужны имена для подпрограмм, достаточно их начальных адресов. Существуют ли какие-либо инструменты, которые я мог бы использовать для доступа к такой информации?
Немного предыстории: я хочу сгруппировать определенные вызовы функций во время выполнения. Например, я хочу сгруппировать все периодические вызовы функций внутри кластера «обновления». Кроме того, я хочу иметь возможность определить, какие функции вызываются в результате действия пользователя (например, нажатия кнопки), а затем снова сгруппировать эти функции. В конце концов, я хочу иметь довольно четкое представление о том, какие функции выполняются, когда. Это вообще возможно?
Спасибо за любой совет