0

PointerToSymbolTable :

COFF シンボル テーブルのファイル オフセット、または COFF シンボル テーブルが存在しない場合はゼロ。デバッグ情報が減価償却されるため、PE イメージ ファイルの場合は 0 です。

PE イメージのデバッグ情報が減価償却されていると表示されるのはなぜですか? AFIAK、Windows の実行可能ファイルもデバッグ情報を運ぶことができますが、そうではありませんか?

4

2 に答える 2

1

デバッグ情報は PE イメージに対して減価償却されると言うように、デバッグ シンボルは PE に直接埋め込まれなくなりました。むしろ、デバッグ情報を保持する .PDB ファイルに保存されます。このファイルの形式は文書化されていないため、このファイルから情報を抽出するには、DbgHelp.dll で API を呼び出す必要があります。

于 2011-05-23T04:32:20.690 に答える
0

どこから読んでいるのかを確認してください。ただし、MSDN のこのページにはそのような警告はありません。

MSDN は Microsoft 固有のものであることを覚えておく必要があります。Microsoft の世界では、coff デバッグ情報が .PDB ファイルに置き換えられて久しいため、Microsoft コンパイラを使用すると、実行可能イメージPointerToSymbolTableでシンボルを取得することはほとんどありません (したがって、常に 0 になります)。

埋め込まれた COFF データを使用するプログラムがまだあります (MinGW など)。

于 2010-09-21T04:34:16.907 に答える