1

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 から抽出できたのと同じ情報を取得する方法をまだ理解できていませんでした。シンボルごとに

  1. それを定義するソースファイル
  2. およびシンボルを使用したソース ファイルのリスト

これに関する指針はありますか?

4

1 に答える 1

2

VS 2005 は COFF デバッグ情報を発行しません。Microsoft は、PDB を優先して非推奨にしました。これは、もはやそれを生成しないことを意味し、最終的に link.exe はそれを消費しなくなります。

デバッグ ヘルプ API を使用して PDB 情報を読み取ることができます。

http://msdn.microsoft.com/en-us/library/ms679309(VS.85).aspx

于 2010-03-14T02:33:54.050 に答える