SourceDebugExtensionクラス・ファイル属性
Java仮想マシンのクラス・ファイル属性については、
Java仮想マシン仕様の
セクション4.7で説明されています。追加された属性の定義は、Java仮想マシン仕様のコンテキストに含まれています。
SourceDebugExtension 属性は、ClassFile 構造体のattributes 表のオプション属性です。特定のClassFile 構造体のattributes 表には、1つのSourceDebugExtension 属性しか含めることができません。
SourceDebugExtension 属性の形式は次のとおりです。
SourceDebugExtension_attribute {
u2 attribute_name_index;
u4 attribute_length;
u1 debug_extension[attribute_length];
}
SourceDebugExtension_attribute 構造体の項目は次のとおりです。
attribute_name_index
attribute_name_index 項目の値は、constant_pool 表への有効な索引にする必要があります。その索引では、constant_pool エントリを文字列「SourceDebugExtension 」を表すCONSTANT_Utf8_info 構造体にする必要があります。
attribute_length
attribute_length 項目の値は、属性の長さ(先頭の6バイトを除く)を示します。したがって、attribute_length 項目の値はdebug_extension[] 項目のバイト数です。
debug_extension[]
debug_extension 配列には文字列が格納されます。この文字列は、UTF-8形式で指定する必要があります。終端のゼロ・バイトはありません。
debug_extension 項目の文字列は、拡張されたデバッグ情報として解釈されます。この文字列の内容によって、Java仮想マシン上のセマンティクは影響を受けません。
|