Oracle Solaris Studio 12.2: dbx コマンドによるデバッグ

print コマンド

ネイティブモードでは、print コマンドは式の値を出力します。Java モードでは、print コマンドは式、局所変数、パラメータの値を出力します。

ネイティブモードの構文

print expression, ...

expression, ... の値を出力します。

print -r expression

継承メンバーを含み、式 expression の値を出力します (C++ のみ)。

print +r expression

dbx 環境変数 output_inherited_members が on であるときは、継承メンバーを出力しません (C++ のみ)。

print -d [-r] expression

expression の静的型ではなく動的型を表示します (C++ のみ)。

print +d [-r] expression

dbx 環境変数 output_dynamic_type が on であるときは、式 expression の動的型を使用しません (C++ のみ)。

print -s expression

式の中に private 変数または thread-private 変数が含まれる場合に、現在の OpenMP の並列領域の各スレッドの式 expression の値を出力します。

print -S [-r] [-d] expression

静的メンバーを含み、式 expression の値を出力します (C++ のみ)。

print +S [-r] [-d] expression

dbx 環境変数 show_static_memberson に設定されている場合は、静的メンバーを出力しません (C++ のみ)。

print -p expression

prettyprint 関数を呼び出します。

print +p expression

dbx 環境変数 output_pretty_print が on であるときは、prittyprint 関数を呼び出しません。

print -L expression

出力オブジェクト expression が 4K を超える場合は、出力を強制実行します。

print +l expression

式が文字列である場合 (char *)、アドレスの出力のみを行い、文字を出力しません。

print -l expression

('Literal') 左側を出力しません。式が文字列である場合 (char *)、アドレスの出力は行わず、文字列内の文字だけを引用符なしで出力します。

print -fformat expression

整数、文字列、浮動小数点の式の形式として format を使用します (オンラインヘルプの format 参照)。

print -Fformat expression

指定の形式を使用しますが、左側 (変数名や式) は出力しません (オンラインヘルプの format 参照)。

print -o expression

expression の値を出力します。これは、序数としての列挙式でなければなりません。ここでは、形式文字列を使用することもできます (-fformat)。非列挙式の場合、このオプションは無視されます。

print -- expression

'--' は、フラグ引数の終わりを示します。これは、expression がプラスやマイナスで始まる可能性がある場合に便利です。スコープ解釈処理ルールについては、「プログラムスコープ」を参照してください。

ここで

expression は、出力対象の値を持つ式です。

format は、式の出力時に使用する形式です。形式が指定の型に適用しない場合は、形式文字列は無視され、内蔵出力機構が使用されます。

許可されている形式は printf(3S) コマンドで使用されているもののサブセットです。次の制限が適用されます。

Java モードの構文

print expression, ... | ...

expression, ... または識別子 identifier, .... の値を出力します。

print -r expression | identifier

継承メンバーを含み、expression または識別子 identifier の値を出力します。

print +r expression | identifier

dbx 環境変数 output_inherited_members が on であ るときは、継承メンバーを出力しません。

print -d [-r] expression | identifier

expression または識別子 identifier の、静的型ではなく動的型を表示します。

print +d [-r] expression | identifier

dbx 環境変数 dbx output_dynamic_type が on であるときは、式 expression の動的型または識別子 identifier の値は使用しないでください。

print -- expression | identifier

'--' は、フラグ引数の終わりを示します。これは、expression がプラスやマイナスで始まる可能性がある場合に便利です。スコープ解釈処理ルールについては、「プログラムスコープ」を参照してください。

ここで

class_name は、Java クラス名で、パッケージのパス (. (ピリオド) を修飾子として使用。たとえば test1.extra.T1.Inner) またはフルパス名 (# 記号で始まり、/ (スラッシュ) や $ 記号を修飾子として使用。たとえば #test1/extra/T1$Inner) のいずれかで指定します。修飾子 $ を使用する場合は、class_name を引用符で囲みます。

expression は、値を出力する Java 式です。

field_name は、クラス内のフィールド名です。

identifierthis を含む局所変数またはパラメータで、現在のクラスインスタンス変数 (object_name.field_name) またはクラス (静的) 変数 (class_name.field_name) です。

object_name は、Java オブジェクトの名前です。