JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
Oracle Solaris Modular Debugger Guide
search filter icon
search icon

Document Information


1.  Modular Debugger Overview

2.  Debugger Concepts

3.  MDB Language Syntax




Arithmetic Expansion

Unary Operators

Binary Operators


Shell Escapes


Symbol Name Resolution

Symbol Tables

Symbol Name Scoping

Scoping Within User-Level Applications and Shared Libraries

Object Identifier

Link Map Identifier

Scoping Within the Kernel

Kernel Debug Information

Using the Scoping Operator With a Kernel Module

Dcmd and Walker Name Resolution

Dcmd Pipelines

Formatting Dcmds

4.  Using MDB Commands Interactively

5.  Built-In Commands

6.  Execution Control

7.  Kernel Execution Control

8.  Kernel Debugging Modules

9.  Debugging With the Kernel Memory Allocator

10.  Module Programming API

A.  MDB Options

B.  Notes

C.  Transition From adb and kadb

D.  Transition From crash



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.