kdb コマンド

目的

システムまたはライブ・ダンプ、あるいは実行中のカーネルの検査を可能にします。

構文

kdb -h

kdb [ -c CommandFile ] [ -cp ] [ -i HeaderFile ] [ -l ] [ -script ] -w -u KernelFile

kdb [ -c CommandFile ] [ -cp ] [ -i HeaderFile ] [ -l ] [ -script ] [ -v ] [ SystemImageFile [ KernelFile [KernelModule ... ]]]

kdb [ -c CommandFile ] [ -cp ] [ -i HeaderFile ] [ -l ] [ -script ] [ -v ] [ -m SystemImageFile ] [ -u KernelFile ] [ -k KernelModule ]

説明

kdb コマンドは、オペレーティング・システムの イメージまたは実行中のカーネルを検査するための対話式ユーティリティーです。 kdb コマンドは、システム内の制御構造の解釈およびフォーマットを行い、ダンプを検査するための各種の機能を提供します。

アクティブ・システムで kdb コマンドを使用する場合、/dev/pmem スペシャル・ファイルが使用されるため、root 権限が必要です。 アクティブ・システムで kdb コマンドを実行するには、次のように入力します。
kdb
注: 実行中のシステムの現在のプロセスのスタック・トレースは機能しません。
システム・イメージ・ファイルで kdb コマンドを起動するには、次のように入力します。
kdb SystemImageFile

kdb が開始すると、ユーザーのホーム・ディレクトリー内および現在の作業ディレクトリー内で .kdbinit ファイルを検索します。 このいずれかの場所に .kdbinit ファイルが見つかった場合、kdb はファイルに含まれるすべてのコマンドを、kdb プロンプトから対話式に入力されたかのように実行します。 この両方の場所に .kdbinit ファイルが見つかった場合、ホーム・ディレクトリー内のファイルが最初に処理され、続いて現在の作業ディレクトリー内のファイルが処理されます (ただし、現行ディレクトリーがホーム・ディレクトリーである場合を除く。この場合はファイルが一度だけ処理されます)。

フラグ

項目 Description
-c CommandFile 始動スクリプト・ファイルの別の名前を指定します。 このオプションを使用すると、kdb は、.kdbinit ファイルではなくホーム・ディレクトリーおよび現行ディレクトリー内で CommandFile パラメーターを検索します。
-cp これを使用すると、始動スクリプト・ファイル内の各コマンドが実行されるときに、kdb はそのコマンドを出力します。 これは、.kdbinit ファイルや、-c フラグを付けて指定された他のファイルのデバッグに利用できます。 出力される各コマンドの前には、プラス (+) 符号が付きます。
-h コマンド・ラインの使用法に関する簡略ヘルプ・メッセージと、使用可能なコマンド・ライン・オプションの簡単なリストが表示されます。
-i HeaderFile HeaderFile パラメーターで定義されたすべての C 構造を、kdb print サブコマンドで使用できるようにします。 このオプションを使用するには、C コンパイラーがシステムにインストールされていなければなりません。 さらに、HeaderFile 変数の指定によって追加の .h ファイルをコンパイルする必要がある場合には、別個の -i オプションを使ってこれらを指定する必要もあります。
-k Module カーネル自体に見つからないシンボル定義を解決するために、追加のカーネル・モジュールとして指定の Module パラメーターを使用するよう kdb に指示します。 このオプションは、KernelModule パラメーターを使ってカーネル・モジュールを指定することと同等です。
-l インライン・ページャー (つまり、more (^C to quit) ? プロンプト) を kdb 内で使用できなくします。 この場合、kdb の set scroll サブコマンドは無効になり、スクロールの設定にかかわらずインライン・ページャーが常に使用不可になります。
-m Image 指定の Image パラメーターをシステム・イメージ・ファイルとして使用するよう kdb に指示します。 このオプションは、SystemImageFile パラメーターを使ってシステム・イメージ・ファイルを指定することと同等です。
-script kdb の始動時にインライン・ページャー (つまり、more (^C to quit) ? プロンプト) を使用不可にして、ほとんどの状況情報の出力を不可にします。 このオプションによって、kdb のフロントエンドとして機能するスクリプトその他のプログラムが kdb コマンドからの出力を構文解析できるようになります。
-u Kernel シンボル定義を解決するために指定の Kernel をカーネル・ファイルとして使用するよう kdb に指示します。 このオプションは、KernelFile パラメーターを使ってカーネルを指定することと同等です。
-v kdb コマンドを開始したときに、ダンプ・ファイル内のすべてのコンポーネント・ダンプ・テーブル (CDT) のリストを表示します。CDT は、ダンプに実際に含まれるメモリー領域をリストします。kdb コマンドが稼働中のシステムで使用された場合、このオプションは無視されます。
-w システム・イメージではなく、カーネル・ファイルを直接検査します。 システム・ファイル・イメージのメモリー・ロケーションを通常示すすべての kdb サブコマンドは、データを KernelFile から直接読み取るようになります。 メモリーに書き込むサブコマンドは使用できません。

パラメーター

項目 Description
KernelFile kdb コマンドがカーネル・シンボル定義を解決するために使用する AIX® カーネルを指定します。カーネル・ファイルが使用可能でなければなりません。 ダンプを検査する場合、カーネル・ファイルはシステム・ダンプまたはライブ・ダンプを取るときに使用されたカーネルと同じでなければなりません。デフォルト値は /unix です。
KernelModule カーネル・ファイル自体の中に見つからないシンボル定義を解決するために kdb が使用する追加のカーネル・モジュールのファイル名を指定します。
SystemImageFile システム・イメージを含むファイルを指定します。 この値は、システム・ダンプかライブ・ダンプ、ダンプ・デバイスの名前、または /dev/pmemスペシャル・ファイルを示すことができます。デフォルト値は /dev/pmem です。

次の例で、kdb コマンドの起動オプションを説明します。

  1. デフォルトのシステム・イメージ・ファイルとカーネル・イメージ・ファイルを使用して kdb コマンドを起動するには、次のように入力します。
    kdb

    kdb プログラムは (0)> プロンプトを戻し、サブコマンドの入力を待機します。

  2. /var/adm/ras/vmcore.0 という名前のダンプ・ファイルと /unix と いう名前の UNIX カーネル・ファイルを使用して kdb コマンドを起動するには、次のように入力します。
    kdb /var/adm/ras/vmcore.0 /unix

    kdb プログラムは (0)> プロンプトを戻し、サブコマンドの入力を待機します。

  3. /var/adm/ras/livedump/trc1.nocomp.200705222009.00 という名前のライブ・ダンプ・ファイルとカーネル・ファイル /unix を使用して kdb コマンドを起動するには、次のように入力します。
    kdb /var/adm/ras/livedump/trc1.nocomp.200705222009.00
    注: デフォルト・カーネル・ファイルは /unix です。 システム・ダンプと違い、ライブ・ダンプでは、選択されたデータのみがあります。例えば、ダンプに明示的に含まれたスレッドのカーネル・スレッド・データのみがあります。

ファイル

項目 Description
/usr/sbin/kdb kdb コマンドが入っています。
/dev/pmem デフォルト・システム・イメージ・ファイル。
/unix デフォルト・カーネル・ファイル。