dwhat

Determines what a name refers to

Format

dwhat symbol-name

Arguments

symbol-name

Fully or partially qualified name specifying a variable, procedure, or other source code symbol.

Description

The dwhat command displays information about a symbol. For a variable name, dwhat displays the type, location, storage class, and other relevant information for each variable of that name in the scope of the current focus. For a type name, dwhat displays general information about the data type.

To view information on CLI variables or aliases, use the dset or alias commands.

The focus constrains the query to a particular context.

The default width for this command is thread (t).

Command alias

Alias

Definition

Description

wh

dwhat

Determines what a name refers to

Examples

The following examples show the CLI display for various commands.

dprint timeout

timeout = {

  tv_sec = 0xc0089540 (-1073179328)

  tv_usec = 0x000003ff (1023)

}

 

dwhat timeout

In thread 1.1:

Name: timeout; Type: struct timeval; Size: 8 bytes; Addr: 0x11fffefc0

  Scope: #fork_loop.cxx#snore \

      (Scope class: Any)   Address class: auto_var \

      (Local variable)

 

wh timeval

  In process 1: Type name: struct timeval; Size: 8 bytes; \

    Category: Structure

    Fields in type:

    { tv_sectime_t(32 bits)

      tv_usecint(32 bits)

    }

 

dlist

  20 float field3_float;

  21 double field3_double;

  22 en_check en1;

  23

  24 };

  25

  26 main ()

  27 {

  28 en_check vbl;

  29 check_struct s_vbl;

  30 vbl = big;

  31 s_vbl.field2_char = 3;

  32 return (vbl + s_vbl.field2_char);

  33 }

 

p vbl

  vbl = big (0)

 

wh vbl

In thread 2.3:

Name: vbl; Type: enum en_check; \

    Size: 4 bytes; Addr: Register 01

    Scope: #check_structs.cxx#main \

    (Scope class: Any)

    Address class: register_var (Register \

            variable)

 

wh en_check

In process 2:

Type name: enum en_check; Size: 4 bytes; \

    Category: Enumeration

    Enumerated values:

      big = 0

      little = 1

      fat = 2

      thin = 3

 

p s_vbl

   s_vbl = { field1_int = 0x800164dc (-2147392292) field2_char = '\377'

   (0xff, or -1) field2_chars = "\003" <padding> = '\000' (0x00, or 0)

   field3_int = 0xc0006140 (-1073716928) field2_uchar = '\377' (0xff, or 255)

   <padding> = '\003' (0x03, or 3) <padding> = '\000' (0x00, or 0)

   <padding> = '\000' (0x00, or 0)

 

     field_sub = {

     field1_int = 0xc0002980 (-1073731200)

     <padding> = '\377' (0xff, or -1)

     <padding> = '\003' (0x03, or 3)

     <padding> = '\000' (0x00, or 0)

     <padding> = '\000' (0x00, or 0)

     field2_long = 0x0000000000000000 (0)

     ...

     }

 

wh s_vbl

In thread 2.3

Name: s_vbl; Type: struct check_struct; \

       Size: 80 bytes; Addr: 0x11ffff240

   Scope: #check_structs.cxx#main \

       Scope class: Any)

   Address class: auto_var (Local variable)

 

wh check_struct

In process 2:

Type name: struct check_struct; \

     Size: 80 bytes; Category: Structure

  Fields in type:

  {

  field1_intint(32 bits)

  field2_charchar(8 bits)

  field2_chars$string[2](16 bits)

  <padding>$char(8 bits)

  field3_intint(32 bits)

  field2_uchar unsigned char(8 bits)

  <padding>$char[3](24 bits)

  field_substruct sub_st(320 bits){

     field1_intint(32 bits)

     <padding>$char[4](32 bits)

     field2_longlong(64 bits)

     field2_ulongunsigned long(64 bits)

     field3_uintunsigned int(32 bits)

     en1enum en_check (32 bits)

     field3_doubledouble(64 bits)

  }

...

}

Related Topics

dstatus

dwhere