nmを使用して特定のシンボルを再帰的に検索するには?

nmを使用して特定のシンボルを再帰的に検索するには?

私がいるディレクトリで、再帰的にすべてのオブジェクトファイルで "start"シンボルを見つけたいと思います。nmorが利用できるようですが、readelf私は最初にシェルに触れており、マニュアルでこれを行う方法を理解していません。

答え1

次のように使用できます。

find . -type f \( -executable -o -name \*.o \) -exec nm -A {} + | grep start

次に、すべての実行可能ファイルまたはオブジェクトファイルを見つけてnm -A実行し、結果をgrep

これを調整して他のファイルを見つけることができます。ライブラリ(など)の場合は(動的シンボルの一覧表示)を.so使用する必要があります。nm -A -Dこの-Aオプションを使用すると、nmフィルタリングされた出力がまだ役に立つように、各行でファイル名が繰り返されます。

関連情報