Oracle Solaris Modular Debugger Guide

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.

Interprocess Communication 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.

Interprocess Communication 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>.