2011-08-12 12 views

答えて

5

我々はthe MSDN documentation for dumpbin /SYMBOLSを見てとることができます。

このオプションは、COFFシンボルテーブルを表示します。シンボルテーブルはすべての オブジェクトファイルに存在します。 COFFシンボルテーブルは、 が/ DEBUGとリンクされている場合にのみイメージファイルに表示されます。

以下は、/ SYMBOLSの出力の説明です。追加の /SYMBOLS出力の意味に関する情報は、winnt.h(IMAGE_SYMBOLおよびIMAGE_AUX_SYMBOL)またはCOFFのマニュアルで を検索すると見つかります。次のサンプル・ダンプを考える

最初に:

 
Dump of file main.obj 
File Type: COFF OBJECT 

COFF SYMBOL TABLE 
000 00000000 DEBUG  notype  Filename  | .file 
     main.cpp 
002 000B1FDB ABS  notype  Static  | @comp.id 
003 00000000 SECT1  notype  Static  | .drectve 
     Section length  26, #relocs 0, #linenums 0, checksum 722C964F 
005 00000000 SECT2  notype  Static  | .text 
     Section length  23, #relocs  1, #linenums 0, checksum 459FF65F, selection 1 (pick no duplicates) 
007 00000000 SECT2  notype() External  | _main 
008 00000000 UNDEF  notype() External  | [email protected]@YAXXZ (void __cdecl MyDump(void)) 

String Table Size = 0x10 bytes 

Summary 

     26 .drectve 
     23 .text 

以下の説明では、シンボル番号で始まる行については、 は、ユーザーに適切な情報を持っている列を示します3桁の数字はシンボルのインデックス/番号です。

  • 3番目の列はSECTxが含まれている場合、シンボルがオブジェクトファイルの セクションで定義されています。しかしUNDEFが表示された場合、そのオブジェクトには で定義されておらず、別の場所で解決する必要があります。

  • 第5列(静的、外部)シンボル だけ、そのオブジェクト内で表示されているかどうか、またはそれが(外部から見える )パブリックであるか否かを告げます。静的シンボル、_symは、公開_ シンボル_symにリンクされません。これらの関数は、 _symの2つの異なるインスタンスになります。

  • 番号のついた行の最後の列はシンボル名で、 は装飾も装飾もされていません。

そしてnotype()それは錫で言う、まさに意味:それは何のタイプを持っていません。

関連する問題