Solaris モジューラデバッガ

第 1 章 モジューラデバッガの概要

モジューラデバッガ (MDB) は、Solaris で使用する汎用デバッグ用ツールで、主な特長はその拡張性にあります。このマニュアルでは、複雑なソフトウェアシステムをデバッグする MDB の使用方法について、特に、Solaris カーネル、関連するデバイスドライバ、モジュールなどをデバッグする場合に使用可能な機能に重点を置いて説明します。さらに、このマニュアルには、MDB 言語構文、デバッガ機能、および MDB モジュールプログラミング API についてのリファレンスと解説も記載されています。

はじめに

デバッギングとは、欠陥を取り除くために、ソフトウェアプログラムの実行と状態を分析するプロセスのことです。従来のデバッグ用のツールは、実行制御の機能を備えたもので、それによって、プログラマは制御された環境でプログラムを実行し直したり、プログラムデータの現在の状態を表示したり、プログラム開発に使用するソース言語の表現を評価したりできます。しかし、残念ながら従来の技術では、次のような複雑なソフトウェアシステムをデバッグするには適さない場合がしばしばあります。

MDB は、上記のようなプログラムや状況をデバッグするために、徹底的にカスタマイズできるツールです。MDB に含まれている動的なモジュール機能を使用して、プログラム固有の分析を行う場合に、プログラマ独自のデバッギングコマンドを実行することができます。プログラムの実行時、事後分析時などさまざまな状況で、各 MDB モジュールをプログラム検査に使用することができます。Solaris オペレーティングシステムには、MDB モジュールセットが含まれており、プログラマがこれを使用して、Solaris カーネル、関連するデバイスドライバおよびカーネルモジュールなどをデバッグできるように設計されています。サードパーティーの開発者にも、スーパーバイザーやユーザーソフトウェア用に独自のデバッギングモジュールを開発して配布する場合に、MDB モジュールが役立つと実感していただけるでしょう。

MDB の特長

MDB では、Solaris カーネルやその他のターゲットプログラムを分析する一連の機能を備えています。そのため、次のことが可能になります。

MDB の使用

MDB は、いくつかの一般的な機能を共有する mdbkmdb の 2 つのコマンドとして、Solaris システムで利用できます。mdb コマンドを対話形式またはスクリプト内で使用すると、実行中のユーザープロセス、ユーザープロセスのコアファイル、カーネルクラッシュダンプ、実行中のオペレーティングシステム、オブジェクトファイル、およびその他のファイルをデバッグすることができます。kmdb コマンドを使用すると、オペレーティングシステムカーネルの実行を制御および停止する必要もあるときに、カーネルやデバイスドライバをデバッグできます。mdb を開始するには、mdb(1) コマンドを実行します。kmdb を開始するには、kmdb(1) のマニュアルページの説明に従ってシステムをブートするか、-K オプションを指定して mdb コマンドを実行します。

今後の開発

MDB を使用すれば、高度な事後分析ツールの開発を確実に行うことができます。Solaris オペレーティングシステムの各リリースには、さらに MDB モジュールが追加され、カーネルやその他のソフトウェアプログラムのデバッグに、一層高性能な機能が提供されていきます。既存のソフトウェアプログラムのデバッグにも、Solaris ドライバとアプリケーションのデバッグ機能を向上させるための独自のモジュール開発にも、MDB を活用してください。