Sun Microsystems, Inc.
spacerspacer
spacer www.sun.com docs.sun.com |
spacer
black dot
 
 
7.  Kernel Debugging Modules Generic Kernel Debugging Support (genunix) Error Queues Walkers  Previous   Contents   Next 
   
 

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.

 
 
 
  Previous   Contents   Next