Configuration
This section describes dcmds that can be used to examine system configuration
data.
dcmds
::system | Display the contents of the system(4) configuration
file at the time the kernel parsed the file during system initialization.
|
Interprocess Communication Debugging Support (ipc)
The ipc module provides debugging support for the
implementation of the message queue, semaphore, and shared memory interprocess
communication primitives.
dcmds
::ipcs [-l] | Display
a listing of system-wide IPC identifiers, corresponding to known message queues,
semaphores, and shared memory segments. If the -l option
is specified, a longer listing of information is shown.
|
address ::msg
[-l] [-t type] | Display the properties of the specified message queue element
(struct msg). If the -l option is
present, the raw contents of the message are displayed in hexadecimal and
ASCII. If the -t option is present, it can be used to filter
the output and only display messages of the specified type. This can be useful
when piping the output of the msgqueue walker to ::msg.
|
id ::msqid
[-k] | Convert the specified message queue
IPC identifier to a pointer to the corresponding kernel implementation structure
and print the address of this kernel structure. If the -k
option is present, the id is instead interpreted
as a message queue key to match (see msgget(2)).
|
[ address ] ::msqid_ds [-l] | Print the specified msqid_ds structure or a table of the active msqid_ds structures (message queue identifiers). If the -l
option is specified, a longer listing of information is displayed.
|
id ::semid
[-k] | Convert the specified
semaphore IPC identifier to a pointer to the corresponding kernel implementation
structure and print the address of this kernel structure. If the -k option is present, the id is instead
interpreted as a semaphore key to match (see semget(2)).
|
[ address ] ::semid_ds [-l] | Print the specified semid_ds structure or a table of the active semid_ds structures (semaphore identifiers). If the -l
option is specified, a longer listing of information is displayed.
|
id ::shmid
[-k] | Convert the specified
shared memory IPC identifier to a pointer to the corresponding kernel implementation
structure and print the address of this kernel structure. If the -k option is present, the id is instead
interpreted as a shared memory key to match (see shmget(2)).
|
[ address ] ::shmid_ds [-l] | Print the specified shmid_ds structure or a table of the active shmid_ds structures (shared memory segment identifiers). If the -l option is specified, a longer listing of information is displayed.
|
Walkers
msg | Walk the active msqid_ds structures corresponding to message queue identifiers.
This structure is defined in <sys/msg.h>.
|
msgqueue | Iterate over the message structures that are currently enqueued on the specified
message queue.
|
sem | Walk the active semid_ds structures corresponding to semaphore identifiers.
This structure is defined in <sys/sem.h>.
|
shm | Walk the active shmid_ds structures corresponding to shared memory segment identifiers.
This structure is defined in <sys/shm.h>.
|
Loopback File System Debugging Support (lofs)
The lofs module provides debugging support for the lofs(7FS) file
system.
dcmds
[ address ] ::lnode | Print the specified lnode_t, or a table of the active lnode_t
structures in the kernel.
|
address ::lnode2dev | Print the dev_t (vfs_dev) for the underlying loopback mounted filesystem corresponding
to the given lnode_t address.
|
address ::lnode2rdev | Print the dev_t (li_rdev) for the underlying loopback mounted file system corresponding
to the given lnode_t address.
|
Walkers
lnode | Walk the active lnode_t structures in the kernel. This structure is defined
in <sys/fs/lofs_node.h>.
|
Internet Protocol Module Debugging Support (ip)
The ip module provides debugging support for the ip(7P) driver
dcmds
[ address ] ::ire [-q] | Print the specified ire_t, or a table of the active ire_t
structures in the kernel. If the -q flag is specified, the
send and receive queue pointers are printed instead of the source and destination
addresses.
|
Walkers
ire | Walk the active ire (Internet Route Entry) structures in the kernel. This structure
is defined in <inet/ip.h>.
|
Kernel Runtime Link Editor Debugging Support (krtld)
This section describes the debugging support for the kernel runtime
link editor, which is responsible for loading kernel modules and drivers.
dcmds
[ address ] ::modctl | Print the specified modctl, or a table of the
active modctl structures in the kernel.
|
address ::modhdrs | Given the address of a modctl
structure, print the module's ELF executable header and section headers.
|
::modinfo | Print information about the active kernel modules, similar to the output
of the /usr/sbin/modinfo
command.
|
Walkers
modctl | Walk the list of active
modctl structures in the kernel. This structure is defined in <sys/modctl.h>.
|
USB Framework Debugging Support (uhci)
The uchi module provides debugging support for the
host controller interface portion of the Universal Serial Bus (USB) framework.
dcmds
address ::uhci_qh [-bd] | Given the address of a USB UHCI
controller Queue Head (QH) structure, print the contents of the structure.
If the -b option is present iterate over the link_ptr chain, printing all QHs found. If the -d option
is present, iterate over the element_ptr chain, printing
all TDs found.
|
address ::uhci_td [-d] | Given the address of a USB UHCI
controller Transaction Descriptor (TD) structure, print the contents of the
structure. Note this only works for Control and Interrupt TDs. If the -d option is present, iterate over the element_ptr
chain, printing all TDs found.
|
Walkers
uhci_qh | Given the address
of a USB UHCI controller Queue Head (QH) structure, iterate over the list
of such structures.
|
uhci_td | Given the address
of a USB UHCI controller Queue Head Descriptor (TD) structure, iterate over
the list of such structures.
|
USB Framework Debugging Support (usba)
The usba module provides debugging support for the
platform-independent Universal Serial Bus (USB) framework.
dcmds
::usba_debug_buf | Print
the USB debugging information buffer.
|
address ::usb_hcdi_cb | Given the address of a host controller callback
structure (struct usb_hcdi_cb), print summary information
for this callback.
|
[ address ] ::usb_device [-pv] | Given the address of a usb_device structure, print summary information. If no address
is supplied, this dcmd walks the global list of usb_device
structures. If the -p option is present, also list information
for all open pipes on this device. If the -v option is present,
list verbose information for each device.
|
address ::usb_pipe_handle | Given the address of a USB pipe handle structure
(struct usb_pipe_handle_impl), print summary information
for this handle.
|
Walkers
usb_hcdi_cb | Given
the address of a USB host controller devinfo node, iterate over the list of usb_hcdi_cb_t structs for the controller.
|
usba_list_entry | Given the address of a usba_list_entry structure,
iterate over the chain of such structures.
|
IA: Platform Debugging Support (unix)
These dcmds and walkers are specific to IA.