Hitachi

 Hitachi Application Server V10 定義リファレンスWindows®用)


7.10.1 -XX:HitachiCallToString

該当するクラスのローカル変数オブジェクトに対して取得したStringオブジェクトの文字列を、変数値を表現する文字列として出力します。

説明

適用範囲に該当するクラスのローカル変数オブジェクトに対して取得したStringオブジェクトの文字列を、変数値を表現する文字列として出力します。

なお、ローカル変数に格納されているオブジェクトがない場合、またはJavaVM内部のオブジェクトの場合は、出力されません。

前提オプション
  • -XX:+HitachiLocalsInThrowable

書式

-XX:HitachiCallToString=適用範囲

指定できる値

適用範囲

型:String

minimal指定します。

java.langパッケージ内の次に示すクラスが対象になります。

  • String

  • StringBuffer

  • Boolean

  • Byte

  • Character

  • Short

  • Integer

  • Long

  • Float

  • Double

なお、空文字("")を指定した場合も、minimalと同じです。

デフォルト値

定義項目の省略

-XX:HitachiCallToString=minimal

出力例

次のJavaプログラム例を使用した出力例(簡易出力フォーマット)を、次に示します。

Javaプログラム例
class Example3 {
    public static void main(String[] args) {
        Example3 e3 = new Example3();
        e3.method();  // 4行目
    }
 
    void method() {
        String l1 = "local 1";
        StringBuffer l2 = new StringBuffer(l1);
        l2.append(" + local 2");
        Boolean l3 = new Boolean(false);
        Character l4 = new Character('X');
        Long l5 = new Long(Long.MIN_VALUE);  // long型の最小値
        Object l6 = new Thread();
        Object[] l7 = new Thread[10];
 
        try {
          <例外発生!>  // 18行目
        } catch (Exception e) {
          e.printStackTrace();
        }
    }
 
    public String toString() {
        return "I am an Example3 instance.";
    }
}
出力例1

-XX:HitachiCallToString=minimalの場合

  at Example3.method(Example3.java:18)
    locals:
      (Example3) this = <0xaa07db58>
      (java.lang.String) l1 = <0xae173a28> "local 1"
      (java.lang.StringBuffer) l2 = <0xaa07dca0> "local 1 + local 2"
      (java.lang.Boolean) l3 = <0xaa07de18> "false"
      (java.lang.Character) l4 = <0xaa07df68> "X"
      (java.lang.Long) l5 = <0xaa07e078> "-9223372036854775808"
      (java.lang.Object) l6 = <0xaa07e1a8>
      (java.lang.Object[]) l7 = <0xaa07e298>
  at Example3.main(Example3.java:4)
    locals:
...
 

注意事項

ローカル変数情報を完全に収集するためには、javacでclassファイルを生成する際に、-gオプションまたは-g:varsオプションを付加してclassファイル内にローカル変数情報を埋め込んでおく必要があります。-gオプションまたは-g:varsオプションを付加しないで作成されたclassファイルについては、収集可能な範囲でローカル変数情報が出力されます。