idbg(1M)                                                              idbg(1M)


NAME
     idbg - kernel debugger print utility

SYNOPSIS
     idbg [ -r file ]

DESCRIPTION
     idbg allows the superuser to invoke a number of internal kernel routines
     that provide useful debugging information.  The -r option provides a
     record of the output to the given file.  The kernel routines are part of
     the idbg kernel module, which can be either dynamically loaded or
     statically configured into the kernel.

     The ml command can be used to dynamically load the idbg.o module into a
     running kernel without reconfiguring and rebooting the kernel:

          ml ld -i /var/sysgen/boot/idbg.o -p idbg

     Note that functional pieces of the idbg.o module have been broken into
     separate modules, such as xfsidbg.o, xlvidbg.o, and so on.  It may be
     necessary to also include these modules when either statically
     configuring idbg.o into the kernel or dynamically loading it, depending
     on your kernel configuration.  For example:

          ml ld -i /var/sysgen/boot/idbg.o -p idbg

          ml ld -i /var/sysgen/boot/xfsidbg.o -p xfsidbg

          ml ld -i /var/sysgen/boot/xlvidbg.o -p xlvidbg

     Statically configuring the idbg.o module into the kernel involves editing
     of the /var/sysgen/system/irix.sm file; see the comments in this file on
     how to do so.  See lboot(1M) for details on reconfiguring the kernel.
     See ml(1M) and mload(4) for details about dynamically loadable kernel
     modules.

     A list of the routines available is displayed by simply typing a ? at the
     idbg> prompt.  A more verbose listing can be obtained by typing ?? at the
     prompt.  A routine is invoked by simply typing its name, followed by an
     optional argument.  This list is highly subject to change from release to
     release.  A few of the current routines available are described below.

     plist [ pid ]              If no pid is given, a list of currently active
                                processes is displayed, including the process
                                slot number, pid, name, and status.  If a pid
                                is given, the process table slot number is
                                output.  The value is useful as an argument
                                for other routines.

     ubt process_slot_number    A kernel stack backtrace for the given process
                                is output.  This backtrace is not valid for
                                runnable/running processes.


     proc process_slot_number   Gives a more complete printout of the process
                                table entry for the given process.

     user process_slot_number   Gives a printout of the user area
                                corresponding to the given process.

DIAGNOSTICS
     kernel debugger not configured
          The operating system debugger module idbg is not included in the
          running kernel.


                                                                        Page 2