EN JA
ASF(8)
ASF(8) FreeBSD System Manager's Manual ASF(8)

名称

asfシンボルファイルを追加する

書式

asf [ -afKksVx][ -M core][ -N system][ -o outfile][ -X suffix][ modules-path [ outfile]]

解説

デフォルトでは、 asf は、 kldstat(8) の出力を標準入力から読み込み、カレントディレクトリの modules サブディレクトリ以下にあるサブディレクトリ内の KLD から、シンボルファイルを追加するための gdb(1) コマンドのリストを .asf ファイルに書き込みます。この時のカレントディレクトリは、カーネルを構築したディレクトリを想定しています。これにより gdb(1) がデバッグ環境にシンボルをロードできるようになります。

オプションの modules-path 引数は、 kern.module_path sysctl と同様に、ディレクトリパス名のセミコロンで分離されたリストで指定することができます。リストの中の各ディレクトリは、順番にモジュールに対して検索されます。デフォルトのリストは、カレントディレクトリがカーネル構築ディレクトリであるなら、たった 1 つの要素、 modules から成ります。

outfile が指定されていれば、 asf は、 .asf ファイルの代わりに outfile に書き込みます。 outfile が単一のダッシュ (‘ -’) であるなら、標準出力が使用されます。

オプション

以下のオプションで asf の動作を変更します:
-a
明示的に指定された outfile に書き込む時に、上書きするのではなくファイルに追加します。
-f
各モジュールが modules-path の何処にあっても正確なパスを決めるために、各モジュールのパスを安易に推測する代わりに、 find(1) と同じ方法で検索を行います。
-K
標準入力から読み込む代わりに、現在ロードしているモジュールのリストを得るために伝統的なシステムインタフェースを使用します。
-k
標準入力から読み込む代わりに、 kldstat(8) を実行してそこから情報を読み込みます。
-M
kvm(3) のためのコアファイルを指定します。 -V 指定の意味を含みます。
-N
kvm(3) のためのシステムファイルを指定します。 -V 指定の意味を含みます。
-o
asf が出力を書き込むか、または追加するファイルを指定します。 outfile が単一のダッシュ (‘ -’) であるなら、標準出力が使用されます。
-s
モジュールパスに (推測した) サブディレクトリを付けません。
-V
標準入力から読み込む代わりに、モジュールのリストを得るために kvm(3) インタフェースを使用します。このインタフェースは、稼働しているシステムだけだはなく、システムクラッシュダンプの検査を可能にさせます。 -M-N オプションは、クラッシュダンプの検査の場合に役に立ちます。このオプションを使用するためには、高い特権 (例えば、スーパユーザの特権) が必要です。
-X
asf が KLD ファイル名に追加しようと試みるサフィクスのリストに suffix を追加します。デフォルトのリストは、 .debug, .symbols とヌルのサフィックスから成ります。サフィックスを追加した後、ヌルサフィックスは、常にリストの末尾に位置付けられます。それをリストの中間に置く必要があるなら、代わりに -X に空白のサフィックスを指定することができます。
-x
asf が KLD ファイル名に追加しようと試みるサフィックスのリストを消去します。ヌルサフィックスだけがリストに残されます。

使用例

kern.module_path sysctl によって指定されたシステム検索パスからシンボルファイルを追加するためには、次のコマンドを使用することができます:

asf -s `sysctl -n kern.module_path`

歴史

asf ユーティリティは、 FreeBSD 5.2 ではじめて登場しました。

作者

Greg Lehey <grog@FreeBSD.org>

バグ

モジュールパスは、デフォルトでどちらかといえば単純な方法で推測されます。それは、ビルドツリーのレイアウトの変更に立ち遅れるているようです。 -f の使用をお勧めします。
December 20, 2006 FreeBSD