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.
NOTE: 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 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