Overview – Describes the Oracle Solaris Modular Debugger (MDB), a highly extensible, general purpose debugging tool for the Oracle Solaris operating system. This guide describes how to use MDB to debug complex software systems, with a particular emphasis on the facilities available for debugging the Oracle Solaris kernel and associated device drivers and modules. This guide also includes a complete reference for and discussion of the MDB language syntax, debugger features, and MDB module programming API.
Audience – This guide is intended for use by system administrators, systems programmers, and support engineers, who can debug the software program failures. Often, software program failures divide into two classes: problems that can be solved with source-level debugging tools, and problems that require low-level debugging facilities, examination of core files, and knowledge of assembly language to diagnose and correct. MDB facilitates analysis of this second class of problems.
MDB is most useful when you are programming a complex low-level software system such as an operating system. The MDB debugging framework allows you to construct your own custom analysis tools to aid in the diagnosis of these low-level problems. MDB also provides a powerful set of built-in commands that enable you to analyze the state of your program at the assembly language level.
Required knowledge – You should disassemble various functions of interest in the programs you will be debugging in order to familiarize yourself with the relationship between your program's source code and the corresponding assembly language code. If you are planning to use MDB for debugging Oracle Solaris kernel software, read carefully Kernel Debugging Modules and Debugging With the Kernel Memory Allocator. These chapters provide more detailed information on the MDB commands and facilities provided for debugging the kernel software.
Documentation and resources for this product and related products are available at http://www.oracle.com/pls/topic/lookup?ctx=E37838-01.
Provide feedback about this documentation at http://www.oracle.com/goto/docfeedback.