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

印刷ビューの終了

更新: 2015 年 1 月
 
 

変数、メンバー、関数の定義を調べる

識別子の宣言を出力するには、whatis コマンドを使用します。

(dbx) whatis identifier

識別名は、必要に応じてファイルおよび関数情報によって修飾します。

C++ プログラムの場合、whatis は、関数テンプレートのインスタンス化を一覧表示します。 テンプレート定義は、whatis -t で表示されます。型およびクラスの定義を調べるを参照してください。

Java プログラムについては、whatis identifier は、クラスの宣言、現在のクラスのメソッド、現在のフレームの局所変数、または現在のクラスのフィールドをリストします。

メンバー関数を出力するには、次のコマンドを入力します。

(dbx) whatis block::draw
void block::draw(unsigned long pw);
(dbx) whatis table::draw
void table::draw(unsigned long pw);
(dbx) whatis block::pos
class point *block::pos();
(dbx) whatis table::pos
class point *block::pos();
:

データメンバーを出力するには、次のように入力します。

(dbx) whatis block::movable
int movable;

変数を指定すると、whatis コマンドは、その変数の型を表示します。

(dbx) whatis the_table
class table *the_table;
.

フィールドを指定すると、whatis コマンドは、そのフィールドの型を表示します。

(dbx) whatis the_table->draw
void table::draw(unsigned long pw);

メンバー関数内で停止した場合は、this ポインタを調べることができます。

(dbx) stop in brick::draw
(dbx) cont
(dbx) where 1
brick::draw(this = 0x48870, pw = 374752), line 124 in
     "block_draw.cc"
(dbx) whatis this
class brick *this;