import — генерировать список методов c ++, вызываемых из исполняемого файла

Есть ли способ генерировать список методов C ++, вызываемых для исполняемого файла? У меня есть динамическая библиотека и я хотел бы увидеть, сколько методов вызывается из исполняемого файла. Я вижу, что методы C ++ экспортируются через dumpbin или readelf. Однако когда я запускаю эти инструменты на исполняемом файле, который вызывает динамическую библиотеку, в списке отображаются только методы C и один метод C ++. Есть ли что-то особенное в импорте C ++?

0

Решение

Вы можете построить свою библиотеку и программу с профилированием, затем вы можете получить список всех вызванных функций (и сколько времени уходит на каждую функцию).

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

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

1

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

Вы можете использовать методы профилирования, например, скомпилируйте всю программу с -pg флаг передан gcc (и во время ссылки), затем используйте gprof, (Существует также oprofile).

Вы могли бы использовать ltrace чтобы понять, что вызовы библиотеки сделаны.

Вас это может заинтересовать статья об инструментах обратного инжиниринга.

0

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