Solaris モジューラデバッガ

対象読者

もしあなたが刑事で、犯罪の現場を捜査していると仮定した場合は、目撃者に会って、何が起こったか、誰かを見たかと尋ねるでしょう。しかし、目撃者がいない場合や、目撃証言が不十分な場合は、指紋を採取したり、法廷証拠を集めたりしようと考えるでしょう。また、事件の解決を図るためにその証拠を DNA 鑑定することもあるでしょう。ソフトウェアプログラムの障害も、しばしば、これと同様のカテゴリに分類される場合があります。つまり、ソースレベルのデバッグ用ツールで解決できる問題もあれば、誤りを判断して訂正するために、低レベルのデバッギング機能、コアファイルの検査、およびアセンブリ言語の知識が必要な問題もあります。MDB は、このような二次段階の問題分析を支援するよう設計されたデバッグ用ソフトウェアです。

刑事が、顕微鏡や DNA の証拠をすべての事件に対して必要としないのと同様に、MDB が、すべての障害で必要であるとは限りません。しかし、オペレーティングシステムのように、複雑で低レベルなソフトウェアシステムをプログラミングする場合は、MDB が必要になることがしばしばあります。その結果、これらの障害診断を支援するために、MDB は、ユーザーが独自のカスタム診断ツールを構築できるようなデバッギングのフレームワークとして設計されています。また、アセンブリ言語レベルでプログラムの状態を分析できるように、MDB では、強力な組み込みコマンドも用意しています。

アセンブリ言語のプログラミングやデバッギングに慣れていない場合は、「関連マニュアルと論文」を参照してください。役立つ資料が記載されてます。

また、プログラムをデバッグしている途中で、そのプログラムのソースコードと、それに対応するアセンブリ言語コードとの関係を明らかにするために、プログラム中の対象部分のさまざまな機能を逆アセンブルする必要もあるでしょう。Solaris カーネルソフトウェアをデバッグするために MDB を使用する場合は、第 5 章「カーネルデバッギングモジュール」第 6 章「カーネルメモリーアロケータを使用するデバッギング」を熟読してください。これらの章では、Solaris カーネルソフトウェアをデバッグするために必要な MDB コマンドと機能について詳しく説明しています。