Oracle Solaris カーネルのチューンアップ・リファレンスマニュアル

mdb コマンド

Solaris 8 リリースから組み込まれたモジューラデバッガ mdb は Solaris のデバッガの中でも独特で、簡単に拡張できます。このデバッガのプログラミング API を使用して、モジュールをコンパイルすることによって、デバッガのコンテキスト内で希望する処理を実行することができます。

さらに、mdb には、コマンド行での編集、コマンド履歴、組み込み出力ページャ、構文チェック、コマンドパイプラインなどの、いくつかの便利な機能があります。カーネルに対する事後検査用のデバッガとしては、mdb をお勧めします。

詳細は、mdb(1) のマニュアルページを参照してください。

例 — mdb を使用した値の変更

整数パラメータ maxusers の値を 495 から 512 に変更するには、次のようにします。


# mdb -kw
Loading modules: [ unix krtld genunix ip logindmux ptm nfs ipc lofs ]
> maxusers/D
maxusers:
maxusers:       495
> maxusers/W 200
maxusers:       0x1ef           =       0x200
> $q

実際に変更する場合は、maxusers を変更したいパラメータのアドレスに、値を設定したい値に置き換えて、このコマンドを実行します。

モジューラデバッガの使用についての詳細は、『Solaris モジューラデバッガ』を参照してください。

kmdb デバッガまたは mdb デバッガを使用する場合、モジュール名の接頭辞は不要です。モジュールのロード後、そのシンボルはコアカーネルのシンボルやすでにロードされている他のモジュールのシンボルとともに共通の名前空間を形成するからです。

たとえば、UFS モジュールがロードされている場合、各デバッガは ufs:ufs_WRITESufs_WRITES としてアクセスします。 ufs: 接頭辞が必要なのは、/etc/system ファイルに設定する場合です。