dumpbin /symbols の出力を使用して、C/C++ ライブラリとの依存関係の分析を行うツールがあります。VS 6.0 でライブラリをコンパイルしたとき、ダンプビン COFF SYMBOL TABLE には次のようなエントリが含まれていました。
000 00000008 DEBUG notype Filename | .file
x:\mydir\mysource.c
ソースと定義済み/使用済みのシンボルとの関係を取得できます。これはツールにとって不可欠です。VS 2005 でコンパイルすると、これらのエントリが失われます。libs を 16 進エディタで見ると、バイナリ ファイルにファイル名情報がまったく含まれていないようです。そのため、VS 2005 でコンパイルするときに、Filename エントリをライブラリに戻す方法を探しています。
ありがとうスコット。
Debug Help API は面白そうに見えますが、COFF から抽出できたのと同じ情報を取得する方法をまだ理解できていませんでした。シンボルごとに
- それを定義するソースファイル
- およびシンボルを使用したソース ファイルのリスト
これに関する指針はありますか?