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

whatis name コマンド

関数テンプレートおよびクラステンプレートと、インスタンス化された関数やクラスの定義を出力するために使用します。

クラステンプレートの場合は、次のように入力します。


(dbx) whatis -t Array
template<class T> class Array
To get the full template declaration, try `whatis -t Array<int>’;

クラステンプレートの構造については次のように実行します。


(dbx) whatis Array
More than one identifier ’Array’.
Select one of the following:
 0) Cancel
 1) Array<int>::Array(int)
 2) Array<double>::Array(int>
> 1
Array<int>::Array(int 1);

関数テンプレートの場合は、次のように入力します。


(dbx) whatis square
More than one identifier ’square’.
Select one of the following:
 0) Cancel
 1) square<int(__type_0,__type_0*)
 2) square<double>(__type_0,__type_0*)
> 2
void square<double>(double num, double *result);

クラステンプレートのインスタンス化の場合は、次のように入力します。


(dbx) whatis -t Array<double>
class Array<double>; {
public:
    int Array<double>::getlength()
    double &Array<double>::operator [](int i);
    Array<double>::Array<double>(int l);
    Array<double>::~Array<double>();
private:
    int length;
    double *array;
};

関数テンプレートのインスタンス化の場合は、次のように入力します。


(dbx) whatis square(int, int*)
void square(int num, int *result);

詳細については、whatis コマンド」を参照してください。