NAME
strdb — STREAMS debugging tool
DESCRIPTION
strdb
symbolically displays the contents
of various
STREAMS data structures. The argument
system
allows substitutes for the default
/stand/vmunix.
strdb
can only handle a 32-bit kernel actually running on a
system. For crash dumps and for 64-bit kernels, use the
q4
debugger.
strdb
runs in two modes,
STREAMS subsystem and primary.
STREAMS subsystem commands report the status of open
streams. Primary commands display
STREAMS data structures.
In a typical
strdb
session, you will do the following:
- •
Run
strdb.
When
strdb
starts up, you are in primary mode.
- •
Execute the
:S
command to enter
STREAMS subsystem mode.
- •
Enter
STREAMS subsystem commands such as
s,
d,
and
la
to find the open
stream you want to examine.
- •
Enter the
qh
command to select a
stream and display the
stream head read queue. This command returns you to primary mode.
- •
Enter primary mode navigation keys to display fields in the
stream head read queue, and traverse the rest of the
stream's queues.
The following commands are available in primary mode.
- :?
Display a help menu for primary mode.
- ^D
Exit from
strdb.
- :q
Exit from
strdb.
- ^K
If logging is enable, dump current screen to log file
- ^L
Refresh the screen.
- :u
Disable data structure stacking. By default data structure stacking
is turned on. When stacking is on, strdb
pushes each structure it displays onto a stack so that it can be reviewed
later. See
^P
and other stack commands described below.
- :s
Re-enable data structure stacking. By default data structure
stacking is turned on. The
:u
command turns it off. When stacking is on, strdb
pushes each structure it displays onto a stack so that it can be reviewed
later. See
^P
and other stack commands described below.
- :l name o|c
If the o
option is specified, open a log file,
name,
and start logging. Alternatively if the c
option is specified, close a log file,
name,
and stop logging.
- :S
Enter
STREAMS subsystem mode.
- navigation key
Display the field specified by
navigation key
in the currently displayed data structure.
strdb
provides different navigation keys for each
STREAMS data structure.
Each key indicates a particular field in the data structure to display.
The navigation keys for
STREAMS data structures are described after the
STREAMS subsystem commands below.
- ?
Display a help menu for the displayed data structure's navigation keys.
- ^R
Update the displayed data structure with new values from /dev/kmem
on a running system.
- ^P
Pop the displayed data structure off the data structure stack, and
display the data structure now at the top of the stack.
- :m
Mark the displayed data structure. Later the data structure stack
can be popped back to this structure using
^U
as described below.
- ^U
Pop the data structure stack back to a structure marked with
:m,
and display this structure.
- ^T
Transpose the top two data structure stack entries. Unlike
^P,
this command allows the data structure on the top of
the stack to be saved for later viewing.
- :b addr [ len ]
Display
len
bytes of binary data at address
addr.
The default for
len
is 256.
- :x name addr
Display structure
name
located at address
addr.
- :x ?
Display the structure names accepted by
:x.
The following commands are available in
STREAMS subsystem mode.
- ?
Display a help menu for
STREAMS subsystem mode.
- h
Display a help menu for
STREAMS subsystem mode.
- q
Exit from
STREAMS subsystem mode to primary mode.
- v
Print the version of
STREAMS data structures displayed.
- s d | m
If the
d
option is specified, list the
STREAMS drivers included in the kernel
S800
or
dfile
file. Alternatively if the
m
option is specified, list the included modules.
- la name
List all open
streams for device
name.
The
name
is one of those shown by the
s
command.
- lm name minor
List all modules pushed on the
stream for device
name
and minor
minor.
- ll name minor
List all drivers linked under the multiplexor
name
with minor
minor.
- lp name minor
List all drivers persistently linked under the multiplexor
name
with minor
minor.
- qc name file
Write the
q_count
values for the driver
name
into file,
file.
- qh name minor
Display the
streams head read queue for the
STREAMS driver
name
and minor
minor.
This command returns the user to primary mode.
strdb
provides different navigation keys for each
STREAMS data structure it displays.
Each key indicates a particular data structure field to display.
The navigation keys for each
STREAMS data structure are described in the following paragraphs.
The navigation keys for the
STREAMS
queue
structure are:
- i
Displays the
q_init
structure pointed to by the
q_qinfo
field.
- m
Displays the
msgb
structure pointed to by the
q_first
field.
- z
Displays the
msgb
structure pointed to by the
q_last
field.
- n
Displays the
queue
structure pointed to by the
q_next
field.
- l
Displays the
queue
structure pointed to by the
q_link
field.
- b
Displays the
qband
structure pointed to by the
q_bandp
field.
- o
Displays the
queue
structure pointed to by the
q_other
field.
The navigation keys for the
STREAMS
qinit
structure are:
- i
Displays the
module_info
structure pointed to by the
qi_minfo
field.
- s
Displays the
module_stat
field pointed to by the
qi_mstat
field.
The navigation keys for the
STREAMS
msgb
structure are:
- n
Displays the
msgb
structure pointed to by the
b_next
field.
- p
Displays the
msgb
structure pointed to by the
b_prev
field.
- m
Displays the data pointed to by the
b_rptr
field.
- c
Displays the
msgb
structure pointed to by the
b_cont
field.
- d
Displays the
datab
structure pointed to by the
b_datap
field.
The navigation keys for the
STREAMS
datab
structure are:
- d
Displays the
a__datab
structure pointed to by the
db_f
field.
The navigation keys for the
STREAMS
qband
structure are:
- n
Displays the
qband
structure pointed to by the
qb_next
field.
- f
Displays the
msgb
structure pointed to by the
qb_first
field.
- l
Displays the
msgb
structure pointed to by the
qb_last
field.
AUTHOR
strdb
was developed by HP.
SEE ALSO
STREAMS/UX for HP9000 Reference Manual.