web-dev-qa-db-ja.com

Linuxでobjdumpおよびbash関数を使用して共有オブジェクトファイル内の関数を見つけるにはどうすればよいですか?

Linuxには、いくつかの共有オブジェクトファイル(* .so)が含まれているフォルダーがあります。 Linuxでobjdumpおよびbash関数を使用して共有オブジェクトファイル内の関数を見つけるにはどうすればよいですか?

たとえば、次の例では、mylib.soの関数func1が見つかります。

objdump -d mylib.so | grep func1

しかし、共有オブジェクトファイルが含まれているフォルダーでfunc1を見つけたいと思います。私はbash言語とLinuxターミナルコマンドを組み合わせる方法を知りません。

18
G-71

このタスクでは、nmobjdumpよりも単純です。
nm -A *.so | grep funcは動作するはずです。 -Aフラグはnmにファイル名を出力するように指示します。

30
ugoren

使うこともできます、

find <path> -name "*.so" -exec nm {} \; | grep func1
2
Deepak