フラグ/オプションがリンクされている場合は、プログラムのすべてのライブラリの依存関係と構成をどのようにリストできますか?

フラグ/オプションがリンクされている場合は、プログラムのすべてのライブラリの依存関係と構成をどのようにリストできますか?

依存関係を変更するargvを取得した場合でも、プログラムのすべての依存関係(ライブラリ)と構成をどのようにリストできますか?

答え1

プログラムがGNU Cライブラリの動的リンカ(ld.so)を使用している場合は、それを実行して次の設定でロードされているすべてのライブラリを追跡できますLD_DEBUG=libs

LD_DEBUG=libs yourcommand --args

これにより、プログラムパラメータを変更すると、ロードされるライブラリが変更されるかどうかを判断できます。

表示されているすべてのライブラリはldd /path/to/yourcommand常にロードされ、プログラムパラメータによっては変更されません。ロードされたライブラリを使用するとdlopen違いがある可能性があり、これはこの手法を使用して表示されます。

どの設定ファイルを読み込んだのかを知りたい場合は、以下を使用してくださいstrace

strace -e open yourcommand --args

関連情報