Sun Studio 12: Debugging a Program With dbx

whatis Command

In native mode, the whatis command prints the type of expression or declaration of type. In Java mode, the whatis command prints the declaration of an identifier. If the identifier is a class, it prints method information for the class, including all inherited methods.

Native Mode Syntax

what is [-n] [-r] name

Print the declaration of the non-type name.

whatis -t [-r] type

Print the declaration of the type type.

whatis -e [-r] [-d] expression

Print the type of the expression expression.


name is the name of a non-type.

type is the name of a type.

expression is a valid expression.

-d shows dynamic type instead of static type (C++ only).

-e displays the type of an expression.

-n displays the declaration of a non-type. It is not necessary to specify -n; this is the default if you type the whatis command with no options.

-r prints information about base classes (C++ only).

-t displays the declaration of a type.

The whatis command, when run on a C++ class or structure, provides you with a list of all the defined member functions (undefined member functions are not listed), the static data members, the class friends, and the data members that are defined explicitly within that class.

Specifying the -r (recursive) option adds information from the inherited classes.

The-d flag, when used with the -e flag, uses the dynamic type of the expression.

For C++, template-related identifiers are displayed as follows:

Java Mode Syntax

whatis identifier

Print the declaration of identifier.


identifier is a class, a method in the current class, a local variable in the current frame, or a field in the current class.