Как я могу найти функцию в файлах общих объектов, используя функции objdump и bash в Linux?

StackOverflow https://stackoverflow.com/questions/9357930

Вопрос

У меня есть папка в Linux, которая содержит несколько общих объектных файлов (*.so). Как я могу найти функцию в файлах общих объектов, используя функции objdump и bash в Linux?

Например, следующий пример - это функция func1 в mylib.so:

objdump -d mylib.so | grep func1

Но я хочу найти func1 в папке, которая содержит общие объектные файлы. Я не знаю языка BASH и как комбинировать команды терминалов Linux.

Это было полезно?

Решение

nm проще objdump, для этой задачи.
nm -A *.so | grep func должно сработать. А -A Флаг рассказывает nm Чтобы распечатать имя файла.

Другие советы

Вы можете использовать также использовать,

find <path> -name "*.so" -exec nm {} \; | grep func1
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top