3

私はアプリケーションを持っています(そのためのソースコードはありません)。

コマンドラインパラメータに応じて、共有ライブラリを動的にロードするように設計されていることを知っています。

ロードするライブラリがわかっているので、LD_LIBRARY_PATHを適切なディレクトリに設定しました。

アプリケーションは1つのサーバーで問題なく動作しますが、別のサーバーでは動作しません。

私はその理由を理解しようとしています。スクリプトがライブラリを探していることを確認できれば、それがどこにあるのかを追跡できれば助かります。

私を助けることができるツールはありますか?私はグーグルしてきましたが、私が見つけた情報のほとんどは、ldd静的にリンクされたライブラリについてのみ実際に教えてくれるものです。

これはLinux環境であり、アプリケーションとライブラリは両方ともCで記述されています

ありがとう

4

2 に答える 2

3

を使用しstraceます。検索されているライブラリなどが表示され、何が起こっているのかを理解するのに役立ちます。

于 2010-09-24T18:41:59.440 に答える
0

すべての共有ライブラリはプロセスのアドレス空間にメモリマップされているため、/ proc / [PID]/mapsファイルを検査することもできます。

于 2010-09-24T18:57:38.743 に答える