|
|
Bit fields are printed in the format
offset declaration hexval = binaryvalFor example:
0010 unsigned int a_base0015:16 0000 = 0000000000000000Other fields in the structure are printed in the format:
offset size declaration value <symbol>For example:
10EA 0002 unsigned short u_uid 0304For bit fields, offset is the offset, in bits, from the beginning of the structure (in the bit field example, 10 (hexadecimal) bits offset). For other fields, offset is in bytes (in this case, 10EA).
size is the size of the field (in the example, 2 bytes). The size of a bit field is given in its declaration, in decimal (in the example, 16 bits).
declaration is the declaration of the field as given in C
(in the example, unsigned short u_uid).
If the debugger does not know the name of a
structure pointer field,
the declaration field reads as
struct ??? fieldname
.
A type cast may be used to access the structure field.
Two values are given for bit fields,
hexval and binaryval.
binvaryval is printed
with the least significant bit (bit 0) to the right.
For other fields, value is given
for 1, 2, and 4 byte-sized fields
(here, 0304) and is printed in hexadecimal.
Fields of other sizes can be dumped using d
(for example, to dump the u.u_arg
array:
d u.u_arg
).
If value is near a symbol,
the symbol and offset are printed.
By default, struct starts printing structures at address, and continues incrementing addresses by the size of the structure until the user issues a quit command.