Attributeな一覧でごわす。
(2013/08/26 まだまだ、とりあえず原文ちょくやーく! 信じちゃだめぇ。)
No. | Attribute名 | Code | 意味 | 取り得るClass | 備考 |
1 | DW_AT_sibling | 0x01 | 親DIEの参照先 | reference | |
2 | DW_AT_location | 0x02 | データオブジェクトの格納場所 これは、変数などのオブジェクトがどこに格納されているかを示すDWARF expressionか、.debug_locへの参照(loclistptr)のどっちか | block loclistptr | |
3 | DW_AT_name | 0x03 | * 宣言の名称(※変数名、など) * コンパイルソースのファイル名 | string | |
4 | DW_AT_ordering | 0x09 | 配列の行/列の順番を示す定数 (原文 pp153 7.17 Array Orderingの表参照) | constant | |
5 | DW_AT_byte_size | 0x0b | * データオブジェクト(変数など)やデータ型などのバイト数 | block constant reference | |
6 | DW_AT_bit_offset | 0x0c | * 基本型でのビット上の場所(オフセット) * データメンバのビット上の場所(オフセット) (※これ、Cならビットフィールドの様ですね ★要調査★) | block constant reference | |
7 | DW_AT_bit_size | 0x0d | * 基本型のビットサイズ * データメンバのビットサイズ (※これは、ビット幅を示すものだと思うけど、なぜblockとかがある?のかが不明) | block constant reference | |
8 | DW_AT_stmt_list | 0x10 | ソースファイル上の行番号(の情報が書いてある.debug_lineの該当箇所へのリンク) | lineptr | |
9 | DW_AT_low_pc | 0x11 | コードアドレスの範囲における下位アドレス ※例: 0x0100-0x0400の範囲がアドレスなら、DW_AT_low_pcは0x0100 なお、確かアドレスが範囲でなくて1箇所を示す時もDW_AT_low_pcで示されるはず(highはなしで) | address | |
10 | DW_AT_high_pc | 0x12 | コードアドレスの範囲における上位アドレス ※例: 0x0100-0x0400の範囲がアドレスなら、DW_AT_high_pcは0x0400 | address | |
11 | DW_AT_language | 0x13 | プログラム言語を示す固定値 (原文 pp149 7.12 Source Languagesの表の通り) C言語の場合は0x000c(C99)、0x0002(C)、0x0001(C89)あたり。C++は0x0004 | constant | |
12 | DW_AT_discr | 0x15 | 可変部分の識別 ※何に、どーやって使うの? | reference | |
13 | DW_AT_discr_value | 0x16 | 識別値 ※だから、にゃにこれ?識別値って? | constant | |
14 | DW_AT_visibility | 0x17 | 宣言の可視化状況を示す固定値 可視化状況とは、localなのか、exportedされているのか、など (原文 pp149 7.10 Visibility codesの表に固定値記述あり) | constant | |
15 | DW_AT_import | 0x18 | * インポートした宣言 * インポートしたユニット * namespaceのエイリアス(別名) * 宣言で使うnamespace * ディレクティブで使うnamespace これらのいずれかに該当するDIEへの参照です ※具体的に、どういケースで遣われるのかが、全く不明っす | reference | |
16 | DW_AT_string_length | 0x19 | 文字列型の文字長(サイズ) | block loclistptr | |
17 | DW_AT_common_reference | 0x1a | 共通ブロック語法? | reference | |
18 | DW_AT_comp_dir | 0x1b | Compilation Unitの対象とするソースが格納されているディレクトリ? | string | |
19 | DW_AT_const_value | 0x1c | * 定数オブジェクト * Enum値 * テンプレートパラメタ(多分C++とか) | block constant string | |
20 | DW_AT_containing_type | 0x1d | ポインタ型を含むメンバの型? ※これ翻訳自信なし! | reference | |
21 | DW_AT_default_value | 0x1e | 変数のデフォルト値(への参照) | reference | |
22 | DW_AT_inline | 0x20 | * 抽象クラス * インライン関数 のいずれかのケースで、宣言されているかどうか、インライン化されているかどうか、を示す固定値です。 (原文 pp152 7.16 Inline Codeの表参照) | constant | |
23 | DW_AT_is_optional | 0x21 | 追加(オプション)のパラメタであるかどうかのフラグ ※どーいうケースで使われるか、不明 | flag | |
24 | DW_AT_lower_bound | 0x22 | サブレンジの下位境界 ※サブレンジってのが分からん。。。が、何らかの格納場所の範囲の境界を示すDWARF expressionか固定値と思われ | block constant reference | |
25 | DW_AT_producer | 0x25 | コンパイラを特定する文字列(コンパイラがお好きな文字を設定してくださいます) | string | |
26 | DW_AT_prototyped | 0x27 | 関数のプロトタイプ(の場合、trueになるフラグ) | flag | |
27 | DW_AT_return_addr | 0x2a | 関数の戻り先アドレスの保存先(を示すDWARF expressionなど) | block loclistptr | |
28 | DW_AT_start_scope | 0x2c | * オブジェクト/型の宣言 ※だが、何入るのか不明 | constant | |
29 | DW_AT_bit_stride | 0x2e | (バイト倍数で整列されず、例えば1要素6bitみたいな) * 配列での1要素のビット幅(=1つの要素を飛び越える時のまたぎ幅) * 複数次元配列における下位次元の1要素のビット幅 | constant | |
30 | DW_AT_upper_bound | 0x2f | サブレンジの上位境界 ※サブレンジってにゃに? | block constant reference | |
31 | DW_AT_abstract_origin | 0x31 | * インライン関数内のインスタンス(変数など)(の情報が格納されたDIEへの参照?) * インライン関数内にある、行外で定義されたインスタンス(のDIEへの参照?) | reference | |
32 | DW_AT_accessibility | 0x32 | (C++/Ada) * C++/Adaの(アクセス)宣言?(publicとかprivateとかかな?) * C++ 基底クラス * C++ 継承メンバ (原文 pp148 7.9の表に入る値記述あり) | constant | |
33 | DW_AT_address_class | 0x33 | * ポインタ、もしくは参照型 * 関数、もしくは関数の型 (原文 pp151 7.13に、一般的な場合は 0 (DW_ADDR_none)だよって記述あるです) | constant | |
34 | DW_AT_artificial | 0x34 | ソース上で実際に宣言されていないオブジェクトもしくは型かどうかのフラグ。 値が"True"なら、ソース上でそのDIEは宣言されていませんってこと(だと思うきっと) | flag | |
35 | DW_AT_base_types | 0x35 | *CUの基本的なデータ型(を示すDIEの参照) (ある変数があったとして、そいつがintならintを定義しているDIEへの参照が入る) | reference | |
36 | DW_AT_calling_convention | 0x36 | サブプログラム呼出規約 (原文 pp152 7.15 の表に値記述あり) これ、値の表を見ると"normal""program""nocall"の3択なので、呼出文が関数を呼ぶのか、プログラムを呼ぶのか、 何もしないのかを示す位に役割っぽいですね。 | constant | |
37 | DW_AT_count | 0x37 | サブレンジ型の要素? | block constant reference | |
38 | DW_AT_data_member_location | 0x38 | * データメンバの格納場所(恐らく構造体など) * 継承メンバの格納場所(C++) | block constant loclistptr | |
39 | DW_AT_decl_column | 0x39 | ソース宣言の列番 ※ソースのテキストファイル上の列番号です ※ソース宣言って? | constant | |
40 | DW_AT_decl_file | 0x3a | ソース宣言を含むファイル(テーブルの番号) ※.debug_line内のファイルテーブルの番号っす | constant | |
41 | DW_AT_decl_line | 0x3b | ソース宣言の行番号 | constant | |
42 | DW_AT_declaration | 0x3c | 不完全 or 未定義 or 分割された宣言であることのフラグ | flag | |
43 | DW_AT_discr_list | 0x3d | 識別値リスト(現状はラベルか範囲かってだけみたいです) (原文pp153 7.18の表に値あり) | block 現状1Byte | |
44 | DW_AT_encoding | 0x3e | ベース型(intやcharなど)のエンコーディング(表現方法) (原文 pp146 7.8 Base type Encodingsの表に入る値記述あり) 格納される値が、アドレスなのか、Booleanなのか、浮動小数なのか、整数(符号有無)なのか、を固定値で表すもんです。 | constant | |
45 | DW_AT_external | 0x3f | * 外部で宣言している関数(extern宣言されている関数) * 外部で宣言されている変数(extern宣言されている変数) かどうかのフラグ(外部宣言ならtrue) | flag | |
46 | DW_AT_frame_base | 0x40 | 関数フレームベースのアドレス(の場所を指すDWARF expression) | block loclistptr | |
47 | DW_AT_friend | 0x41 | friend宣言の関係(フレンドなDIEへの参照) | reference | |
48 | DW_AT_identifier_case | 0x42 | IDケースのルール??? (※これ、何のためのもんか、全く不明っす) (原文pp151 7.14 Identifier caseの表にある4つのどれかが取り得る値っす) | constant | |
49 | DW_AT_macro_info | 0x43 | マクロ情報(.debug_macinfo)へのリンク | macptr | |
50 | DW_AT_namelist_item | 0x44 | namelistのアイテム | block | |
51 | DW_AT_priority | 0x45 | モジュールの優先度 ※他のDIEへの参照になっているが、何を参照するのか不明 | reference | |
52 | DW_AT_segment | 0x46 | アドレッシング情報(が格納されている場所) | block loclistptr | |
53 | DW_AT_specification | 0x47 | * 不完全、未定義、分割された定義やある宣言への関連を示す情報 関連するDIEへのリンクを持っている | reference | |
54 | DW_AT_static_link | 0x48 | 上位フレームの位置(が格納されたDWARF expression) ※上位フレーム(uplevel frame)って何だ?なんとなく、呼出元関数?モジュール? | block loclistptr | |
55 | DW_AT_type | 0x49 | * 宣言の型 * 関数戻り値の型 の情報があるDIEへの参照です。 | reference | |
56 | DW_AT_use_location | 0x4a | "Member location for pointer to menber type"???? ※スミマセン、これ翻訳不可能。。。(一旦保留。ま、オブジェクト言語だよねきっと) | block loclistptr | |
57 | DW_AT_variable_parameter | 0x4b | 常に必要とされないパラメタかどうかのフラグ。 常に必要とされないパラメタはtrue ※これvargとかだよねきっと | flag | |
58 | DW_AT_virtuality | 0x4c | * virtual指示文 * 基底クラスのvirtual宣言 * 関数のvirtual宣言 これらの宣言がなされているかどうかの状況を示す固定値 (原文 pp149 7.11 Virtuality codesの表に定数あり) | constant | |
59 | DW_AT_vtable_elem_location | 0x4d | vtableスロットにあるvirtual関数(の格納場所を指すDWARF expressionへの参照) | block loclistptr | |
60 | DW_AT_allocated | 0x4e | * 型のアロケート状態 (※これも何が入るのか全く不明 ★要調査★) DWARF3以降 | block constant reference | |
61 | DW_AT_associated | 0x4f | * 型の関連状態 (※詳細不明 ★要調査★ → 関連する型へのリンクなんかなぁ) DWARF3以降 | block constant reference | |
62 | DW_AT_data_location | 0x50 | 実データへの間接参照? DWARF3以降 | block | |
63 | DW_AT_byte_stride | 0x51 | * enum配列のByteまたぎ幅? * サブレンジのByteまたぎ幅? (※すみません、訳ができへんこれ。。。) DWARF3以降 | block constant reference | |
64 | DW_AT_entry_pc | 0x52 | * モジュール初期化(コードの)エントリアドレス * 関数のエントリアドレス * インライン関数のエントリアドレス DWARF3以降 | address | |
65 | DW_AT_use_UTF8 | 0x53 | Compilation Unit内の文字列がUTF8かどうかのフラグ。 UTF8使用なら、true DWARF3以降 | flag | |
66 | DW_AT_extension | 0x54 | 以前宣言したnamespaceの拡張、もしくはオリジナルのnamespace(への参照) ※C++詳しくないんで、翻訳あやしぃ〜 DWARF3以降 | reference | |
67 | DW_AT_ranges | 0x55 | コードの範囲が連続していない時の対象範囲が書かれた.debug_rangesへの参照 DWARF3以降 | rangelistptr | |
68 | DW_AT_trampoline | 0x56 | ターゲットのサブルーチン(関数) ※これも現状わしゃには意味不明 DWARF3以降 | address flag reference string | |
69 | DW_AT_call_column | 0x57 | インライン関数呼出の列番号 ※何に使うのこれ? DWARF3以降 | constant | |
70 | DW_AT_call_file | 0x58 | インライン関数呼出を含むファイル番号 ※どーいう時に使われるのかは分からんですが、このファイル番号は.debug_lineのファイルテーブルの番号っすね DWARF3以降 | constant | |
71 | DW_AT_call_line | 0x59 | インライン関数呼出の行番号 ※これもにゃんに使うんだろね? DWARF3以降 | constant | |
72 | DW_AT_description | 0x5a | 固有文字列 ※コンパイラなどが埋め込むものと思われ。 DWARF3以降 | string | |
73 | DW_AT_binary_scale | 0x5b | 固定ポインタ型?へのバイナリスケール倍率 (★要調査★ なんじゃこれ?なんとなく、24バイト飛びでアクセスするようなポインタアクセス時の飛びバイトを表すもの?高級言語向け?) DWARF3以降 | constant | |
74 | DW_AT_decimal_scale | 0x5c | 整数スケール倍率 ※なんかの言語には整数にスケールできる機能あるんですかねぇ? DWARF3以降 | constant | |
75 | DW_AT_small | 0x5d | 固定ポインタ型におけるスケールファクタ(の情報が格納されたDIEへのリンク) DWARF3以降 | reference | |
76 | DW_AT_decimal_sign | 0x5e | 整数の符号(のバイナリレベルでの持たせ方を示す定数) (原文 pp147 Fig.26に入る値記述あり) DWARF3以降 | constant | |
77 | DW_AT_digit_count | 0x5f | パックド10進数表記 or 算術文字列型の桁数 DWARF3以降 | constant | |
78 | DW_AT_picture_string | 0x60 | 数字文字型用の絵文字? ※へんてこなBroken Japaneseな訳ですが、つまりのところ翻訳できてません。。 "picture string"って何? DWARF3以降 | string | |
79 | DW_AT_mutable | 0x61 | メンバデータのmutableプロパティかどうかを示すフラグ DWARF3以降 | flag | |
80 | DW_AT_threads_scaled | 0x62 | UPC配列におけるスレッドのスケール倍数 ※これなんじゃ、ってかんじ、ですが、どーもぐぐるとJAVAっぽい DWARF3以降 | flag | |
81 | DW_AT_explicit | 0x63 | メンバ関数が明示的なものかどうか(のフラグ) DWARF3以降 | flag | |
82 | DW_AT_object_pointer | 0x64 | メンバ関数が所属するオブジェクトへのポインタ ※原文注釈みる限り、thisやself指定の時のポインタを示すものみたいです DWARF3以降 | reference | |
83 | DW_AT_endianity | 0x65 | データのエンディアン(の表現方法を示すフラグ) (原文 pp148 Fig27の表の値のいずれかが入る) よーは、Little/Big Endianのどっちか、ってことですね。 DWARF3以降 | constant | |
84 | DW_AT_elemental | 0x66 | 関数(メソッド)の基本属性 ※なぜflag? DWARF3以降 | flag | |
85 | DW_AT_pure | 0x67 | 関数のPureプロパティ(なら、true) DWARF3以降 | flag | |
86 | DW_AT_recursive | 0x68 | 関数の循環プロパティ(なら、true) ※オブジェクト指向言語はほとんどしろーとなので、これ何をいっているか良く分かっていません。 ただ、翻訳違うよねこれきっと。直訳バレバレ。。。 DWARF3以降 | flag | |
87 | DW_AT_lo_user | 0x2000 | --- | --- | |
88 | DW_AT_hi_user | 0x3fff | --- | --- |
[PageInfo]
LastUpdate: 2013-09-01 10:29:33, ModifiedBy: koinec
[License]
FreeBSD Documentation License
[Permissions]
view:all, edit:members, delete/config:members