MDB では、Solaris カーネルやその他のターゲットプログラムを分析する一連の機能を備えているため、次のことが可能になります。
Solaris カーネルのクラッシュダンプや、ユーザープロセスのコアダンプの事後分析ができます。MDB には、さまざまな機能を備えた一連のデバッガモジュールが含まれています。そのため、標準のデータディスプレイやフォーマット機能に加えて、カーネルやプロセスの状態を詳細に分析することができます。デバッガモジュールを使用して、次のような複雑な照会を行うこともできます。
特定のスレッドによって割り当てられたすべてのメモリーを検出する
カーネル STREAM のビジュアル画像を出力する
特定のアドレスが参照している構造タイプを判定する
カーネルの中でリークしているメモリーブロックを検出する
スタックトレースを検出するためのメモリーを分析する
デバッガそのものをコンパイルし直したり修正したりすることなく、独自のデバッガコマンドや分析ツールを導入するために有効なプログラミング API が使用できます。MDB では、デバッギング機能が、ロード可能なモジュールセットとして実装されていて、デバッガが dlopen(3DL) を実行できる共用ライブラリになっています。各モジュールは、デバッガそのものの機能を拡張するコマンドセットを提供します。同様に、デバッガは、メモリーの読み取りや書き込み、シンボルテーブル情報へのアクセスなど、コアサービスの API を提供します。MDB は、フレームワークを提供しているので、開発者は独自のドライバやモジュール用にデバッギング機能を開発することができます。このため誰もがこれらのモジュールを使用できるようになります。
adb(1) や crash(1M) のような旧来のデバッグ用ツールに慣れている場合は、MDB も簡単に使用できます。MDB は、これら既存のデバッギングソリューションに対して下位互換を有しています。MDB 言語そのものは、adb 言語のスーパーセットとして設計されていますが、既存の adb マクロやコマンドは MDB 内でも機能するので、adb 言語を使用している開発者は、MDB 固有のコマンドを知らなくてもすぐに MDB を使用できます。また、MDB では、クラッシュユーティリティで使用される機能よりも強力なコマンドも用意しています。
拡張機能を使用できます。MDB は、次のような便利な機能を多数提供しています。
コマンド行の編集
コマンドの履歴
組み込み型の出力ページャ
構文エラーのチェックと処理
オンラインヘルプ
対話型セッションログ