2010-11-26 3 views
0

私が取り組んでいるプロジェクトに特定のパッケージが適合する方法を理解しようとしています。私は、このパッケージの一部だけがプロジェクトのバイナリに実際に組み込まれていると信じており、正確にどの部分を見つけ出す必要があります。このパッケージのライブラリ関数は、他の多くの場所から呼び出されます(つまり、いくつかの他のパッケージがそれに依存しています)。ソースをバイナリにトレースする

私はプロジェクトをビルドして配布する予定です。依存するパッケージ内のすべてのヘッダーを調べて、どのソース - >バイナリファイルを配布するかを判断する唯一の方法はありますか?それともこれにもっと賢い方法がありますか?事前に

おかげで、

+0

こんにちは、ここで話しているのは?ライブラリの依存関係ではなくパッケージの依存関係を判断する方法を尋ねていますか? –

+0

Linux(Ubuntu)私はすでにパッケージの依存性を認識していますが、より深いレベルにする必要があります。 *このパッケージの一部のコードはLGPLの下でライセンスされています。私たちが実際にそのコードを使用しているかどうかを知る必要があります。 – ajwood

答えて

1

あなたは私たちの上に行くために多くの情報を与えられたが、ここでは動作します方法ですされていない:パッケージの部分を削除し、プロジェクトがまだコンパイルされますかどうかを確認します。

+0

ありがとう、私は彼らができるだけ一般的なときに質問が最も良いと思う。残念なことに、時には、正確な量の詳細を得るのが難しいことがあります。 – ajwood

0

nmを使用して静的ライブラリを展開します。これにより、libに含まれるすべてのファイルとメソッドが一覧表示されます。

文字列を使用することもできます。 これは、バイナリで定義された文字列を表示します。

ソースを調べ、定義した文字列がライブラリにあるかどうかを確認します。

gprofのようなものを使用して、実行可能ファイルによって呼び出されるメソッドを確認することもできます。

関連する問題