FreeBSD 日本語マニュアル検索 (jman/japropos/jwhatis)


日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。

4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.3-RELEASE-K, 13.0-RELEASE-K から 13.2-RELEASE-K は、全翻訳済み)

13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。



検索コマンド: man apropos whatis
コマンド/キーワード:
日本語マニュアル RELEASE :
セクション:
Table of Contents
名称 | 書式 | 解説 | コマンド | 変数 | | スクリプト記述 | ヒント | 関連ファイル | 関連項目 | 歴史
DDB(4)             FreeBSD カーネルインタフェースマニュアル             DDB(4)

名称
     ddb -- 対話型カーネルデバッガ

書式
     カーネルデバッグを機能を有効にするために、次を含めます:

           options KDB
           options DDB

     カーネル panic(9) (パニック) におけるデバッガの起動を防ぐために:

           options KDB_UNATTENDED

     パニックに対してコンソールに現在のスレッドのスタックトレースを印刷 (表示)
     するために:

           options KDB_TRACE

     シンボリック表現に加えてシンボルの数値を印刷するために、次を定義します:

           options DDB_NUMSYM

     kgdb(1) でリモートデバッギングが可能とできるように、gdb(1) バックエンドを
     有効にするには、次を含めます:

           options GDB

解説
     ddb カーネルデバッガは、gdb(1) に発想を得た構文がある対話型デバッガです。
     実行中のカーネルにリンクされるなら、局所的に `debug' keymap(5) 動作を呼び
     出すことができます。また、debug.debugger_on_panic sysctl(8) MIB 変数が、
     KDB_UNATTENDED オプションが指定されない場合のデフォルトである、0 以外に設
     定されているなら、デバッガは、カーネル panic(9) 時に呼び出されます。

     現在の位置は、dot (ドット) と呼ばれます。dot は、プロンプトとして 16 進数
     形式で表示します。コマンド examinewrite は、最後に行を検査するか最後
     に位置を変更したアドレスに dot を更新し、next に検査されるか変更された次
     の位置のアドレスを設定します。他のコマンドは、dot を変更せずに、nextdot と同じになるように設定します。

     一般的なコマンドのシンタックスは: command[/modifier] [addr][,count]

     空白行は、count (カウント) 1 で修飾子 (modifier) なしとしてアドレス next
     から直前のコマンドを繰り返します。addr を指定すると dot をそのアドレスに
     設定します。addr を省略すると dot が使用されます。count がなければ、プリ
     ントコマンドに対しては、1 が、スタックトレースに対しては無限が指定された
     ものとなります。-1 の count は、失われた count と同等です。与えられた
     command によってサポートされませんが、供給されるオプションは、通常、無視
     されます。

     ddb デバッガは、出力に対して more(1) コマンドのようなページャ機能がありま
     す。出力行が lines 変数で設定された数を超えるなら、``--More--'' を表示し
     て応答を待ちます。それに対する有効な応答は、次の通りです:

     SPC  もうの 1 ページを表示
     RET  もう 1 行を表示
     q    現在のコマンドを中断し、コマンド入力モードに戻る

     最終に、ddb は、わずかな (現在 10 項目) コマンドヒストリと簡単な emacs ス
     タイルのコマンド行編集機能を提供しています。emacs 制御キーに加えて、普通
     の ANSI 矢印キーは、ヒストリバッファを閲覧したり、現在行の中でカーソルを
     動かすために使用できます。

コマンド
     examine[/AISabcdghilmorsuxz ...] [addr][,count]
     x[/AISabcdghilmorsuxz ...] [addr][,count]
             修飾子の形式に従って指定されたアドレスの位置を表示します。複数の
             修飾子の形式は、複数の位置を表示します。形式が指定されていないな
             ら、このコマンドに指定された最後の形式が使用されます。

             フォーマット文字は、次の通りです:
             b       バイト (8 ビット) で見ます。
             h       ハーフワード (16 ビット) で見ます。
             l       ロングワード (32 ビット) で見ます。
             g       クワッドワード (64 ビット) で見ます。
             a       表示されたロケーション (位置) を印刷 (表示) します。
             A       できれば行番号付きでロケーション (位置) を印刷 (表示) し
                     ます。
             x       符号無し 16 進数で表示します。
             z       符号付き 16 進数で表示します。
             o       符号無し 8 進数で表示します。
             d       符号付き 10 進数で表示します。
             u       符号無し 10 進数で表示します。
             r       現在の基数を符号付きで表示します。
             c       下位 8 ビットを文字として表示します。印刷できない文字は、
                     8 進数のエスケープコード (例: `\000') で表示されます。
             s       ロケーションにヌル文字で終了する文字列を表示します。印刷
                     できない文字は、8 進数のエスケープコードで表示されます。
             m       各行末に文字ダンプをつけて符号無し 16 進数で表示します。
                     位置も各行の始めに 16 進数で表示されます。
             i       命令として表示。
             I       マシンに依存するあり得る代替の形式で命令として表示しま
                     す。i386 では、これは、命令デコードのための代替の形式を選
                     択します (32 ビットコードセグメントの 16 ビットと逆もまた
                     同様)。
             S       アドレスに格納されたポインタのためのシンボル名を表示しま
                     す。

     xf      前方検査: 最後に実行されたコマンドによって表示された次のアドレス
             が開始アドレスとして使用されることを除いて、最後に指定されたパラ
             メータで examine コマンドを実行します。

     xb      後方検査: 最後の開始アドレスから最後に実行されたコマンドによって
             表示されたサイズを引かれたものが開始アドレスとして使用されること
             を除いて、最後に指定されたパラメータで examine コマンドを実行しま
             す。

     print[/acdoruxz]
     p[/acdoruxz]
             (上で説明された examine のように) 修飾子文字に従って addr を印刷
             します。有効な形式は、次の通りです: a, x, z, o, d, u, rc で
             す。修飾子が指定されていないなら、最後に定されたものが使用されま
             す。引数 addr は、文字列で指定できます。その場合は、そのままで印
             刷されます。例えば:

                   print/x "eax = " $eax "\necx = " $ecx "\n"

             は、次のように印刷されます:

                   eax = xxxxxx
                   ecx = yyyyyy

     write[/bhl] addr expr1 [expr2 ...]
     w[/bhl] addr expr1 [expr2 ...]
             コマンド行の addr の後に指定された式を addr で始まる後に続く位置
             に書き込みます。書き込み単位のサイズは、それぞれ、文字 b (バイ
             ト)、h (ハーフワード)、l (ロングワード) の修飾子で指定することが
             できます。省略されるなら、ロングワードが想定されます。

             警告: 式の間には、デリミタがないので、奇妙なことが起こるかもしれ
             ません。各式を括弧で囲うのが最適です。

     set $variable [=] expr
             名前付き変数やレジスタに expr の値を設定します。有効な変数名は、
             以下に説明されます。

     break[/u] [addr][,count]
     b[/u] [addr][,count]
             addr にブレークポイントを設定します。count が供給されるなら、
             continue コマンドは、ヒットする最初の count - 1 回でこのブレーク
             ポイントに停止しません、ブレークポイントが設定されるなら、ブレー
             クポイント番号は、`#' で印刷されます。この数は、ブレークポイント
             を削除するか、条件を追加する際に使用することができます。

             u 修飾子が指定されるなら、このコマンドは、ユーザ空間のアドレスに
             ブレークポイントを設定します。u オプションがなければ、アドレス
             は、カーネル空間と見なされ、間違った空間のアドレスは、エラーメッ
             セージを付けて拒否されます。この修飾子は、マシン依存のルーチンに
             よってサポートされる場合にだけ使用することができます。

             警告: ユーザテキストが通常のユーザ空間のデバッガによって隠されて
             いるなら、ユーザ空間のブレークポイントは、正しく動作しないかもし
             れません。また、低レベルのコードパスにブレークポイントを設定する
             と、奇妙な振る舞いが引き起こされるかもしれません。

     delete [addr]
     d [addr]
     delete #number
     d #number
             指定されたブレークポイントを削除します。`#' があるブレークポイン
             ト番号によって、またはオリジナルの break コマンドで指定された同じ
             addr を使用することによって、または dot のデフォルトのアドレスを
             取得するために addr を省略することによって、ブレークポイントを指
             定することができます。

     watch [addr][,size]
             領域のためのウォッチポイントを設定します。領域を変更する試みが起
             こるとき、実行は、停止します。size 引数は、4 がデフォルトです。利
             用者が間違った空間アドレスを指定するなら、要求は、エラーメッセー
             ジで拒否されます。

             警告: 決め打ちされたカーネルメモリをウォッチする試みは、i386 のよ
             うないくつかのシステムで復旧不能エラーを引き起こすかもしれませ
             ん。ユーザアドレスでのウォッチポイントは、最もよく動作します。

     hwatch [addr][,size]
             アーキテクチャによってサポートされているなら、領域のためのハード
             ウェアウォッチポイントを設定します。領域を変更する試みが起こると
             き、実行は、停止します。size 引数は、4 がデフォルトです。

             警告: ハードウェアデバッグ機能には、コマンドが行うウォッチのよう
             な別々のアドレス空間の概念がありません。カーネルアドレスの位置だ
             けでウォッチポイントを設定するために hwatch を使用し、ユーザモー
             ドのアドレス空間で使用を避けます。

     dhwatch [addr][,size]
             指定されたハードウェアウォッチポイントを削除します。

     step[/p][,count]
     s[/p][,count]
             count 回のシングルステップ。p 修飾子が指定されるなら、各ステップ
             毎に命令を印刷します。そうでなければ、最後の命令のみ印刷します。

             警告: マシンタイプによっては、何らかの低レベルのコードパスまたは
             ユーザ空間のコードを通してシングルステップを実行できないかもしれ
             ません。ソフトウェアエミュレートでシングルステップを行うマシン
             (例えば、pmax) では、割り込みハンドラによって実行されたコードを通
             してのステップ実行は、たぶん間違ったことを行います。

     continue[/c]
     c[/c]   ブレークポイントかウォッチポイントまで実行を継続します。c 修飾子
             が指定されるなら、実行している間の命令を数えます。いくつかのマシ
             ン (例えば、pmax) は、load と store も数えます。

             警告: 数える (カウントする) とき、デバッガは、本当に静かにシング
             ルステップを行います。これは、低レベルのコードでのシングルステッ
             プが奇妙な振る舞いを引き起こすかもしれないことを意味します。

     until[/p]
             次の call か return 命令で止まります。p 修飾子が指定されるなら、
             深くネストした call と各 call か return のときに累積命令数 (カウ
             ント) を印刷します。そうでなければ、一致する return がヒットされ
             るときのみ印刷します。

     next[/p]
     match[/p]
             一致する return 命令で止まります。p 修飾子が指定されるなら、深く
             ネストした call と各 call か return のときに累積命令数 (カウント)
             を印刷します。そうでなければ、一致する return がヒットされるとき
             のみ印刷します。

     trace[/u] [pid | tid][,count]
     t[/u] [pid | tid][,count]
     where[/u] [pid | tid][,count]
     bt[/u] [pid | tid][,count]
             スタックトレース。u オプションは、ユーザ空間をトレースします。省
             略されるなら、trace は、カーネル空間のみをトレースします。オプ
             ションの引数 count は、トレースされるフレームの数です。count が省
             略されるなら、すべてのフレームが印刷されます。

             警告: ユーザ空間のスタックのトレースは、マシン依存のコードが、そ
             れをサポートする場合のみ有効です。

     search[/bhl] addr value [mask][,count]
             value をメモリで検索します。オプションの count 引数は、検索を制限
             します。

     findstack addr
             指定されたアドレスを含んでいるスレッドカーネルモードのスタックの
             ためのスレッドアドレスを印刷します。スレッドが見つからないなら、
             スレッドのスタックキャッシュを検索し、キャッシュされたスタックア
             ドレスを印刷します。そうでなければ、何も印刷しません。

     show all procs[/m]
     ps[/m]  すべてのプロセス情報を表示します。プロセス情報は、マシンでサポー
             トされていないか、またはターゲットのプロセスのスタックの底がその
             時メインメモリ中にない場合、表示されないかもしれません。m 修飾子
             は、プロセスの VM マップアドレスを表示し、他の情報を表示しないよ
             うに変更します。

     show all trace
     alltrace
             システムのすべてのスレッドのためのスタックトレースを表示します。

     show all ttys
             システム中のすべての TTY を表示します。出力は、pstat(8) と同様で
             が、TTY 構造のアドレスも含めて表示します。

     show all vnets
             "show vnet" が行うように同じ出力を表示しますが、システム内のすべ
             ての仮想化されたネットワークスタックをリストします。

     show allchains
             "show lockchain" が行うような、同じ情報を表示しますが、システムの
             すべてのスレッドを表示します。

     show alllocks
             現在保持されているすべてのロックを表示します。このコマンドは、
             witness(4) が、カーネルに含まれている場合にだけ、利用可能です。

     show allpcpu
             "show pcpu" と同じですが、システムに存在するあらゆる CPU を表示し
             ます。

     show allrman
             割り込み要求ライン、DMA 要求ライン、I/O ポート、I/O メモリアドレ
             ス、とリソース ID を含んで、リソース管理に関連する情報を表示しま
             す。

     show apic
             APIC IDT ベクトルマッピングに関するデータをダンプします。

     show breaks
             "break" コマンドで設定したブレークポイントを表示します。

     show bio addr
             addr に存在する bio 構造体 struct bio に関する情報を表示します。
             構造体のフィールドの正確な意味に関する詳細については、sys/bio.h
             ヘッダファイルと g_bio(9) を参照してください。

     show buffer addr
             addr に存在する buf 構造体 struct buf に関する情報を表示します。
             構造体のフィールドの正確な意味に関する詳細については、sys/buf.h
             ヘッダファイルを参照してください。

     show callout addr
             addr に存在するコールアウト構造体 struct callout に関する情報を表
             示します。

     show cbstat
             TTY サブシステムの簡潔な情報を表示します。

     show cdev
             引数がないとき、devfs ノード名と struct cdev アドレスからなる、作
             成されたすべての cdev のリストを表示します。cdev のアドレスが供給
             されるとき、cdev のいくつかの内部の devfs の状態を表示します。

     show conifhk
             現在 run_interrupt_driven_config_hooks() の完了を待っているフック
             をリストします。

     show cpusets
             番号付けられた root と割り当てられた CPU 類似セットを印刷します。
             その他の詳細については、cpuset(2) を参照してください。

     show cyrixreg
             Cyrix プロセッサに特有のレジスタを表示します。

     show devmap
             静的なデバイスのマッピングテーブルの内容を印刷 (表示) します。現
             在、ARM アーキテクチャでのみ利用可能です。

     show domain addr
             アドレス addr でプロトコルドメイン構造 struct domain を印刷しま
             す。構造体フィールドの正確な意味に関する、その他の詳細について
             は、sys/domain.h ヘッダファイルを参照してください。

     show ffs [addr]
             引数が与えられるなら、アドレス addr での ffs マウントに関する簡潔
             な情報を表示します。そうでなければ、それぞれの ffs マウントに関す
             る概要を提供します。

     show file addr
             アドレス addr に存在するファイル構造 struct file ファイルに関する
             情報を表示します。

     show files
             システム内のあらゆるファイル構造に関する情報を表示します。

     show freepages
             それぞれの空き (free) リストの物理的なページの数を表示します。

     show geom [addr]
             addr 引数が与えられないなら、すべての GEOM トポロジを表示します。
             addr が与えられるなら、与えられた GEOM オブジェクト (クラス、
             geom、プロバイダまたは消費者) に関する詳細を表示します

     show idt
             IDT レイアウトを表示します。最初のカラムは、IDT ベクトルを指定し
             ます。2 番目のものは、割り込み/トラップハンドラの名前です。それら
             の関数は、マシン依存です。

     show igi_list addr
             addr に存在する IGMP 構造体 struct igmp_ifsoftc に関する情報を表
             示します。

     show inodedeps [addr]
             それぞれの inodedep 構造に関する簡潔な情報を表示します。addr が与
             えられるるなら、供給されたアドレスに位置する fs に属する inod
             edeps だけが表示されます。

     show inpcb addr
             addr に存在する IP Control Block struct in_pcb の情報を表示しま
             す。

     show intr
             割り込みハンドラに関する情報をダンプします。

     show intrcnt
             割り込み統計をダンプします。

     show irqs
             割り込みラインとそれらのそれぞれのカーネルスレッドを表示します。

     show jails
             jail(8) の例のリストを表示します。jls(8) が表示するものに加えて、
             カーネルの内部の詳細もリストします。

     show lapic
             この CPU のためのローカルの APIC レジスタから情報を表示します。

     show lock addr
             ロック構造を表示します。出力形式は、次の通りです:

             class:
                    ロックのクラス。指定できるタイプは、mutex(9), rmlock(9),
                    rwlock(9), sx(9) です。

             name:  ロックの名前。

             flags:
                    ロック初期化関数に渡されるフラグ。flags 値は、ロッククラス
                    特有です。

             state:
                    現在のロックの状態。state 値は、ロッククラス特有です。

             owner:
                    ロックの所有者。

     show lockchain addr
             アドレス addr の特定のスレッドがスリープ不可能で非スピンロックに
             基づいてウェートしているすべてのスレッドを表示します。

     show lockedbufs
             "show buf" と同じ情報を表示しますが、あらゆるロックされた struct
             buf オブジェクトを表示します。

     show lockedvnods
             システムのすべてのロックされた vnodes をリストします。

     show locks
             現在取得されるすべてのロックを印刷します。このコマンドは、
             witness(4) が、カーネルに含まれている場合にだけ、利用可能です。

     show locktree

     show malloc
             malloc(9) メモリアロケータ統計を印刷します。出力形式は、次の通り
             です:

                   Type      一種のメモリを指定します。それは、
                             MALLOC_DECLARE(9) で与えられたメモリタイプを定義
                             している間に使用される記述文字列と同じです。
                   InUse     free(9) がまだ、呼び出されていない、与えられたタ
                             イプのメモリアロケーションの数。
                   MemUse    与えられた割り付けタイプによって消費されたメモリ
                             を合計。
                   Requests  与えられたメモリタイプのためのメモリ割り付け要求
                             の数。

             ``vmstat -m'' でユーザ空間の同じ情報を集めることができます。

     show map[/f] addr
             addr で VM オブジェクトを印刷します。f 修飾子が指定されるなら、完
             全なマップが印刷されます。

     show msgbuf
             システムのメッセージバッファを印刷します。それは、``dmesg'' の場
             合と同じ出力です。利用者がカーネルパニックとなり、シリアルケーブ
             ルをマシンにアタッチし、システムハングの前からブートメッセージを
             得たいなら、役に立ちます。
     show mount
             すべてのマウントされたファイルシステムに関する短い情報を表示しま
             す。

     show mount addr
             与えられたマウントポイントに関する詳細を表示します。

     show object[/f] addr
             addr で VM オブジェクトを印刷します。f オプションが指定されるな
             ら、完全なオブジェクトが印刷されます。

     show panic
             設定されるなら、パニックのメッセージを印刷 (表示) します。

     show page
             VM ページの統計を表示します。

     show pageq
             VM ページキューの統計を表示します。

     show pciregs
             PCI バスレジスタを印刷します。``pciconf -lv'' を実行することに
             よって、ユーザ空間で同じ情報を集めることができます。

     show pcpu
             現在のプロセッサ状態を印刷します。出力形式は、次の通りです:

                   cpuid             プロセッサ識別子。
                   curthread         スレッドのポインタ、プロセスの識別子、と
                                     スレッドの名前。
                   curpcb            制御ブロックポインタ。
                   fpcurthread       FPU スレッドポインタ。
                   idlethread        アイドルスレッドポインタ。
                   APIC ID           APIC から来る CPU 識別子。
                   currentldt        LDT ポインタ。
                   spin locks held   保持されているスピンロックの名前。

     show pgrpdump
             システム中の現在のプロセスグループをダンプします。

     show proc [addr]
             [addr] が指定されないなら、現在のプロセスの情報を印刷します。そう
             でなければ、アドレス addr でプロセスの情報を表示します。

     show procvm
             プロセス仮想記憶レイアウトを表示します。

     show protosw addr
             アドレス addr でプロトコルスイッチ構造 struct protosw を印刷しま
             す。

     show registers[/u]
             レジスタセットを表示します。u 修飾子が指定されるなら、カーネルレ
             ジスタまたは現在保存しているものの代わりにユーザレジスタを表示し
             ます。

             警告: u 修飾子のサポートは、マシンに依存します。サポートしていな
             いなら、不正確な情報が表示されます。

     show rman addr
             アドレス addr でリソース管理プログラムオブジェクト struct rman を
             参照してください。"show allrman" コマンドで特定のポインタのアドレ
             スを集めることができます。

     show rtc
             リアルタイムクロック値を表示します。長いデバッギングセッションの
             役に立ちます。

     show sleepchain
             特定のスレッドが、スリープ可能なロックに基づいてウェートしてい
             る、すべてのスレッドを表示します。

     show sleepq
     show sleepqueue
             両方のコマンドは、同じ機能性を提供します。それらは、スリープ
             キュー struct sleepqueue 構造を表示します。スリープキューは、書き
             込みの時点は、次の通りである、(ロックを保持しているスレッドが、ス
             リープするか、またはコンテキストスイッチされるかもしれない) ス
             リープ可能な同期基本関数を実装するために FreeBSD 内で使用されま
             す: condvar(9), sx(9) と標準の msleep(9) インタフェース。

     show sockbuf addr
     show socket addr
             それらのコマンドは、addr に置かれた struct sockbufstruct
             socket オブジェクトを印刷します。出力は、言及された構造に存在する
             すべての値から成ります。正確な解釈とその他の詳細については、
             sys/socket.h ヘッダファイルを参照してください。

     show sysregs
             システムレシスタ (例えば、i386 の cr0-4 を表示します。いくつかの
             プラットフォームでは存在しません。

     show tcpcb addr
             アドレス addr にある TCP 制御ブロック struct tcpcb を印刷します。
             出力の正確な解釈については、netinet/tcp.h ヘッダファイルを参照し
             てください。

     show thread [addr]
             addr が指定されないなら、現在のスレッドに関する詳細な情報を表示し
             ます。そうでなければ、addr のスレッドにカンスル情報が、印刷されま
             す。

     show threads
             システム中のすべてのスレッドを表示します。出力形式は、次の通りで
             す:

                   最初のカラム   スレッド識別子 (TID)
                   2 番目のカラム
                                  スレッド構造アドレス
                   3 番目のカラム
                                  バックトレース

     show tty addr
             読み込み可能な形式で TTY 構造の内容を表示します。

     show turnstile addr
             アドレス addr で turnstile (回転ドア) struct turnstile 構造を表示
             します。turnstile は、特定のタイプのロックを保持している間に、ス
             リープすることができないか、または別のスレッドにコンテキストス
             イッチできない、同期基本関数実装するために FreeBSD カーネル中で使
             用される構造です。現在、それらは、次の通りです: mutex(9),
             rwlock(9), rmlock(9)show uma
             UMA アロケータ統計を表示します。出力は、次の 5 つのカラムから成り
             ます:

                   Zone      UMA ゾーンの名前。最初の引数として uma_zcreate(9)
                             に渡された同じ文字列。
                   Size      与えられたメモリオブジェクト (slab) のサイズ。
                   Used      現在使用されている slab の数。
                   Free      UMA ゾーン中の空き (free) の slab の数。
                   Requests  与えられたゾーンへの割り付け要求のの数。

             全く同じ情報は、``vmstat -z'' の助けでユーザ空間に集められます。

     show unpcb addr
             アドレス addr に存在する UNIX ドメインソケットのプライベート制御
             ブロック struct unpcb を表示します。

     show vmochk
             内部の VM オブジェクトが、どこかにマップされているか、そして、0
             の参照カウントがないかどうかを印刷します。

     show vmopag
             これは、VM オブジェクトによって消費された物理アドレスを表示するは
             ずです。現在、witness(4) がカーネルでコンパイルされるとき、このコ
             マンドを使用することはできません。

     show vnet addr
             アドレス addr に存在する仮想化されたネットワークスタック struct
             vnet 構造体を印刷 (表示) します。

     show vnode [addr]
             [addr] にある vnode struct vnode 構造を印刷します。出力の正確な解
             釈については、sys/vnode.h ヘッダファイルを参照してください。

     show vnodebufs addr
             addr に位置する vnode のクリーン/汚いバッファリストを表示します。

     show watches
             すべてのウォッチポイントを表示します。"watch" コマンドで設定され
             たウォッチポイントを表示します。

     show witness
             witness(4) サブシステムから来るロック獲得に関する情報を表示しま
             す。

     gdb     リモート GDB と DDB モードを切り替えます。リモート GDB モードで
             は、ターゲットマシンのシリアルコンソールポートに接続されたリモー
             トデバッグ機能を使用する gdb(1) を実行する別のマシンが必要とされ
             ます。現在は、i386 アーキテクチャでのみ利用可能です。

     halt    システムを停止 (halt) します。

     kill sig pid
             シグナル sig をプロセス pid に送ります。シグナルは、デバッガから
             戻るとき作用します。ハングアップしているシステムの場合に、リソー
             スの競合を起こすプロセスを kill するために、このコマンドを使用す
             ることができます。シグナルのリストに関して signal(3) を参照してく
             ださい。引数は、kill(2) と比べて逆にされることに注意してくださ
             い。

     reboot [seconds]
     reset [seconds]
             システムをハードリセットします。オプションの引数 seconds が与えら
             れるなら、デバッガは、リブートの前に最大でも 1 週間、これを待ちま
             す。

     help    利用可能なコマンドとコマンドの略語の要約を印刷します。

     capture on
     capture off
     capture reset
     capture status
             ddb は、sysctl(3) を使用してユーザ空間からデバッグコマンドの結果
             を検索するために使用することができる、基本的な出力獲得機能をサ
             ポートします。capture on 出力獲得を有効にします。capture off 獲得
             を無効にします。capture reset は、獲得バッファをクリアして、獲得
             を無効にします。capture status は、現在のバッファ使用、バッファサ
             イズと出力獲得の傾向を報告します。

             ユーザ空間のプロセスは、次の sysctl(8) を使用して ddb 獲得状態を
             検査して、管理します:

             debug.ddb.capture.bufsize は、現在の獲得バッファサイズを問い合わ
             せるる、または設定するために使用されます。

             debug.ddb.capture.maxbufsize は、獲得バッファサイズでのコンパイル
             時間の制限について問い合わせるために使用されます。

             debug.ddb.capture.bytes は、獲得バッファの現在の出力のバイト数を
             問い合わせるために使用されます。

             debug.ddb.capture.data は、適切に特権があるプロセスへの文字列とし
             てバッファの内容を返します。

             この機能は、スクリプト記述されたデバッグ出力が、後で解析するため
             に textdump の一部としてディスクを獲得して、コミット (収容) でき
             る、スクリプト記述と textdump(4) 機能と合わせて特に役に立ちます。
             また、獲得バッファの内容は、kgdb(1) を使用してカーネルコアダンプ
             で検査することができます。

     run
     script
     scripts
     unscript
             実行する、定義する、記載する、削除するスクリプト。スクリプト記述
             の機能に関する詳細については、スクリプト記述セクションを参照して
             ください。

     textdump dump
     textdump set
     textdump status
     textdump unset
             直ちに textdump を行なうために textdump dump コマンドを使用しま
             す。より多くの情報は、textdump(4) にあります。textdump set コマン
             ドは、伝統的なメモリダンプまたは minidump でなく textdump となる
             ように次のカーネルコアダンプを強制するために使用されます。
             textdump status は、textdump がスケジュールされているかどうかを報
             告します。textdump unset は、次のカーネルコアダンプとして
             textdump を実行する要求をキャンセルします。

変数
     デバッガは、レジスタと $name として変数をアクセスします。レジスタ名は、
     ``show registers'' コマンドで見られます。いくつかの変数は、数字の接尾辞が
     付けられ、変数名の直後にコロンが続く何らかの修飾子があるかもしれません。
     例えば、レジスタ変数は、ユーザレジスタ (例えば、``$eax:u'') を示す u 修飾
     子を持つことができます。

     現在サポートされている組み込みの変数は、次の通りです:

     radix     入力と出力の基数。
     maxoff    アドレスは、offsetmaxoff より大きくない場合は、
               ``symbol+offset'' として印刷されます。
     maxwidth  表示される行の幅。
     lines     行の数。それは、組み込みページャによって使用されます。
     tabstops  タブストップ幅。
     workxx    作業変数。xx は、0 から 31 までの値を取ります。


     `~', `^' と、単項演算子の `&' を除いて、C 言語のほとんどの式の演算子がサ
     ポートされています。ddb での特別な規則は、次の通りです:

     識別子       シンボルの名前は、対応するオブジェクトのアドレスである、シン
                  ボルの値に変換されます。`.' と `:' は、識別子で使用できま
                  す。オブジェクトフォーマット依存ルーチンによってサポートされ
                  るなら、[filename:]func:lineno, [filename:]variable と
                  [filename:]lineno は、シンボルとして受け付けることができま
                  す。

     数字         基数は、最初の 2 文字で決定されます: `0x': は、16 進数、
                  `0o': は、8 進数、`0t': は、10 進数。さもなければ、現在の基
                  数に従います。

     .            dot

     +            next

     ..           検査した最後の行の始にのアドレス。dot または next とは異なっ
                  て、これは、examine または write コマンドによってのみ変更さ
                  れます。

     '            明示的に指定した最後のアドレス。

     $variable    指定された変数の値に変換されます。`:' と上で説明された修飾子
                  が続くかもしれません。

     a#b          左側を右側の次の倍数に切り上げる 2 項演算子。

     *expr        間接指定。`:' と上で説明される修飾子を続けることができます。

スクリプト記述
     ddb は、タスクまたは特定のイベントへの応答を自動化を可能とするために基本
     的スクリプト記述の機能をサポートしています。各スクリプトは、連続して実行
     される DDB コマンドのリストから成り、ユニークな名前に割り当てられます。特
     定のスクリプト名には、特別な意味があり、それらの名前のスクリプトが定義さ
     れたなら、様々な ddb イベントで自動的に実行されます。

     script コマンドは、名前によってスクリプトを定義するために使用されます。ス
     クリプトは、`;' 文字で分離された一連の ddb コマンドから成ります。例えば:

           script kdb.enter.panic=bt; show pcpu
           script lockinfo=show alllocks; show lockedvnods

     scripts コマンドは、現在定義されたスクリプトをリストします。

     run コマンドは、名前によってスクリプトを実行します。例えば:

           run lockinfo

     unscript コマンドは、名前によってスクリプトを削除するために使用されます。
     例えば:

           unscript kdb.enter.panic

     また、これらの関数は、ddb(8) コマンドを使用してユーザ空間から実行されま
     す。

     特定のスクリプトは、定義されるなら、特定の ddb イベントに対して自動的に実
     行されます。次のスクリプトは、様々なイベントが起こるとき実行されます:

     kdb.enter.acpi       acpi(4) イベントの結果として、カーネルデバッガに入り
                          ました。

     kdb.enter.bootflags  ブート時に設定されるデバッガブートフラグの結果とし
                          て、カーネルデバッガに入りました。

     kdb.enter.break      シリアルまたはコンソール割り込みの結果として、カーネ
                          ルデバッガに入りました。

     kdb.enter.cam        CAM(4) イベントの結果として、カーネルデバッガに入り
                          ました。

     kdb.enter.mac        TrustedBSD MAC Framework の mac_test(4) モジュールで
                          アサーションの失敗の結果として、カーネルデバッガに入
                          りました。

     kdb.enter.ndis       ndis(4) ブレークポイントイベントの結果として、カーネ
                          ルデバッガに入りました。

     kdb.enter.netgraph   netgraph(4) イベントの結果として、カーネルデバッガに
                          入りました。

     kdb.enter.panic      panic(9) が呼び出されます。

     kdb.enter.powerfail  sparc64 プラットフォームで powerfail NMI の結果とし
                          て、カーネルデバッガに入りました。

     kdb.enter.powerpc    powerpc プラットフォームで実装されていない割り込みタ
                          イプの結果として、カーネルデバッガに入りました。

     kdb.enter.sysctl     設定されている debug.kdb.enter sysctl の結果として、
                          カーネルデバッガに入りました。

     kdb.enter.trapsig    sparc64 プラットフォームでトラップシグナル (trapsig)
                          イベントの結果として、カーネルデバッガに入りました。

     kdb.enter.unionfs    ユニオン (union) ファイルシステムでアサーションの失
                          敗の結果として、カーネルデバッガに入りました。

     kdb.enter.unknown    理由が何も設定されずに、カーネルデバッガに入りまし
                          た。

     kdb.enter.vfslock    VFS ロック違反の結果として、カーネルデバッガに入りま
                          した。

     kdb.enter.watchdog   ウォッチドッグ (watchdog) が発火する結果として、カー
                          ネルデバッガに入りました。

     kdb.enter.witness    witness(4) 違反の結果として、カーネルデバッガに入り
                          ました。

     これらのスクリプトで見つけられないイベントで、ddb は、デフォルトのスクリ
     プトを実行することを試みます:

     kdb.enter.default    カーネルデバッガに入りましたが、入るための理由に正確
                          に一致しているスクリプトが、定義されていませんでし
                          た。特に興味がない場合を扱うためにすべてをキャッチす
                          るために、これを使用できます。例えば、
                          kdb.enter.witness は、特別の取り扱いを持つために定義
                          され、kdb.enter.default は、単にパニックしてリブート
                          するために定義されます。

ヒント
     ISA 拡張バスがあるマシン上で、簡単な NMI 生成カードは、A01 と B01 (CHCHK#
     と GND) カードフィンガの間の押しボタンを接続することによって構築すること
     ができます。これらを 2 つのフィンガを一緒にショートする瞬間に、ブリッジ
     チップセットは、NMI を発生させるかもしれません。その NMI は、カーネルに
     ddb の制御を渡します。いくつかのブリッジチップセットは、CHCHK# 上の NMI
     を発生させないので、利用者のマイレージ (利点) は、異なるかもしれません。
     NMI は、問題を診断するために反応しなくなったマシンでデバッガでのブレーク
     (中断) を許します。他のバスのブリッジチップセットは、バスの特有の方法を使
     用することで NMI を発生できるかもしれません。デバッグのために NMI を生成
     することができる多くの PCI と PCIe 拡張カードがあります。最近のサーバシス
     テムは、通常、デバッガに入るシグナルを生成するために、IPMI を使用します。
     NMI をプロセッサに送る chassis power diag (シャーシ電源診断) コマンドを送
     信するために devel/ipmitool ポートを使用することができます。組み込みシス
     テムは、しばしばデバッグのための JTAG を使用しますが、ddb との組み合わせ
     で、めったにそれを使用しません。

     シリアルコンソールについて、利用者は、options BREAK_TO_DEBUGGER がカーネ
     ルで指定されるなら、シリアル回線で、BREAK 状態を送信することによってデ
     バッガに入ることができます。ほとんどの端末エミュレーションプログラムは、
     特別なキーのシーケンスまたはメニュー項目でブレークシーケンスを送信するこ
     とができます。しかしながら、いくつかのセットアップで、ブレークを送ること
     は、調整することが難しくなるか、または誤って起こるかもしれないので、カー
     ネルが options ALT_BREAK_TO_DEBUGGER を含んでいるなら、CR TILDE CTRL-B の
     シーケンスがデバッガに入力されます。CR TILDE CTRL-P は、デバッガに入力さ
     れる代わりにパニックを起こします。そして、CR TILDE CTRL-R は、直ちにリ
     ブートが起こります。すべての上記のシーケンスで、CR は、キャリッジリターン
     (Carriage Return) であり、通常、エンタ (Enter) またはリターンキー (Return
     key) を打つことによって送信されます。TILDE は、ASCII のチルダ文字 (~) で
     す。CTRL-x は、コントロールキー、次に x を打つことによって、作成されるコ
     ントロール (Control) x で、次に両方とも離します。

     また、デバッガの振る舞いに入るためのブレークは、sysctl(8)
     debug.kdb.break_to_debugger を 1 に設定することによって有効にされます。ま
     た、デバッガの振る舞いに入るための代替のシーケンスは、sysctl(8)
     debug.kdb.alt_break_to_debugger を 1 に設定することによって有効にされま
     す。デバッガは、sysctl(8) debug.kdb.enter を 1 に設定することによって入れ
     ます。

関連ファイル
     下記の /usr/include ディレクトリで、このマニュアルページで言及されている
     ヘッダファイルを見つけることができます。

     -   sys/buf.h
     -   sys/domain.h
     -   netinet/in_pcb.h
     -   sys/socket.h
     -   sys/vnode.h

関連項目
     gdb(1), kgdb(1), acpi(4), CAM(4), mac_test(4), ndis(4), netgraph(4),
     textdump(4), witness(4), ddb(8), sysctl(8), panic(9)

歴史
     ddb デバッガは、Mach のために開発され、386BSD 0.1 に移植されました。この
     マニュアルページは、Garrett Wollman によって man(7) マクロから変換されま
     した。

     Robert N. M. Watson は、FreeBSD 7.1 で ddb 出力獲得、textdump(4) とスクリ
     プト記述のサポートを追加しました。

FreeBSD 11.2                     March 3, 2017                    FreeBSD 11.2

Table of Contents

FreeBSD マニュアル検索