SourceDebugExtension
このドキュメントの以降では、これらの追加の詳細について説明します。
SourceDebugExtension
属性SourceDebugExtension
属性は、ClassFile
構造体の attributes
テーブル内のオプション属性です。 与えられた ClassFile
構造体の attributes
テーブル内の 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 形式である必要があります。 終了文字 0 バイトはありません。
debug_extension
内の文字列は、拡張デバッグ情報として解釈されます。 この文字列の内容は、Java 仮想マシンのセマンティックに影響しません。
jvmdiError GetSourceDebugExtension(jclass clazz, char **sourceDebugExtensionPtr)
clazz
で指示されたクラスについて、sourceDebugExtensionPtr
を介してデバッグ拡張機能を返します。 返される UTF-8 文字列には、clazz
ファイルに存在するデバッグ拡張情報がそのまま含まれます。
パラメータ:
- clazz
- 照会するクラス
- sourceDebugExtensionPtr
- 戻ったとき、クラスのデバック拡張機能名 (UTF-8) へのポインタを参照する。 返されたシグニチャーの文字列は、
Deallocate
を使って解放する必要がある
この関数は、汎用エラー、または次のエラーのどれかを返します。
JVMDI_ERROR_NULL_POINTER
- 無効なポインタ
JVMDI_ERROR_INVALID_CLASS
clazz
が無効JVMDI_ERROR_ABSENT_INFORMATION
- クラス情報に、デバッグ拡張が含まれていない
ReferenceType
コマンドセット) に、次のコマンドが追加されました。
referenceTypeID | refType | 参照型 ID |
string | sourceDebugExtension | デバッグ拡張文字列 |
ReferenceType
の Java Debug Interface (JDI) に、次のメソッドが追加されました。
public String sourceDebugExtension() AbsentInformationException をスロー
AbsentInformationException
- デバック拡張文字列が指定されていない場合ObjectCollectedException
- この参照型がロードされていない場合Copyright © 2001 Sun Microsystems, Inc. All Rights Reserved.
コメントの送付先: java-debugger@java.sun.com |
![]() |