Oracle Solaris Modular Debugger Guide


A variable is a variable name, a corresponding integer value, and a set of attributes. A variable name is a sequence of letters, digits, underscores, or periods. Use the > dcmd or ::typeset dcmd to assign a value to a variable. Use the ::typeset dcmd to manipulate the attributes of a variable. Each variable's value is represented as a 64-bit unsigned integer. A variable can have one or more of the following attributes: read-only (cannot be modified by the user), persistent (cannot be unset by the user), and tagged (user-defined indicator).

The following variables are defined as persistent:


Most recent value printed using the /, \, ?, or = dcmd.


Most recent count used with the $< dcmd.


Virtual address of the base of the data section.


The CPU identifier corresponding to the CPU on which kmdb is currently executing.


Size of the data section in bytes.


Virtual address of the entry point.


The count of the number of times the matched software event specifier has been matched. See Event Callbacks.


Initial bytes (magic number) of the target's primary object file, or zero if no object file has been read yet.


Size of the text section in bytes.


The thread identifier of the current representative thread. The value of the identifier depends on the threading model used by the current target. See Thread Support.

In addition, the MDB kernel and process targets export the current values of the representative thread's register set as named variables. The names of these variables depend on the target's platform and instruction set architecture.