The following examples show how to use dbx to examine kernel images:
(dbx) _realstart/X
fffffc00002a4008: c020000243c4153e
(dbx) _realstart/i
[_realstart:153, 0xfffffc00002a4008] subq sp, 0x20, sp
(dbx) _realstart/10i
[_realstart:153, 0xfffffc00002a4008] subq sp, 0x20, sp
[_realstart:154, 0xfffffc00002a400c] br r1, 0xfffffc00002a4018
[_realstart:156, 0xfffffc00002a4010] call_pal 0x4994e0
[_realstart:157, 0xfffffc00002a4014] bgt r31, 0xfffffc00002a3018
[_realstart:171, 0xfffffc00002a4018] ldq gp, 0(r1)
[_realstart:172, 0xfffffc00002a401c] stq r31, 24(sp)
[_realstart:177, 0xfffffc00002a4020] bis r16, r31, r9
[_realstart:178, 0xfffffc00002a4024] bis r17, r31, r10
[_realstart:179, 0xfffffc00002a4028] bis r18, r31, r11
[_realstart:181, 0xfffffc00002a402c] bis r19, r31, r12
2.1.5 Printing the Values of Variables and Data Structures
You can use the print command to examine values of variables and data
structures. The print command has the following syntax:
print expression
p expression
For example:
(dbx) print utsname
struct {
sysname = "OSF1"
nodename = "system.dec.com"
release = "V5.0"
version = "688.2"
machine = "alpha"
}
Note that dbx has a default alias of p for print:
(dbx) p utsname
2.1.6 Displaying a Data Structure Format
You can use the whatis command to display the format for many of the
kernel data structures. The whatis command has the following syntax:
whatis typename
The following example displays the itimerval data structure:
(dbx) whatis struct itimerval
struct itimerval {
struct timeval {
int tv_sec;
int tv_usec;
} it_interval;
2–6 Kernel Debugging Utilities