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仮想マシン上のセマンティクは影響を受けません。


Copyright © 1993, 2020, Oracle and/or its affiliates. All rights reserved.