core(5) FreeBSD 一般コマンドマニュアル

core

前のページ 上に戻る 次のページ

core




解説

     プロセスを異常終了させる少数のシグナルは、プロセスのメモリ内状態の記録を
     ディスクに書き出させる効果もあります。これにより、デバッガを使用して後で
     検査を行うことが可能です。( sigaction(2) を参照してください。) このメモリ
     イメージは、デフォルトでは作業ディレクトリの B>プB>ロB>グB>ラB>ムB>名.core という名前
     のファイルに書かれます。ただし、終了したプロセスがそのディレクトリに書き
     こみ権限を持ち、発生した異常がシステムを破壊しないことが前提です。 (シス
     テムが破壊された場合には、コアファイルを保存するかどうかの決定は不定で
     す。 savecore(8) を参照してください。)

     コアファイルの最大サイズは setrlimit(2) により制限されます。制限よりも大
     きくなるファイルは生成されません。ファイル名は sysctl(8) 変数
     kern.corefile にて制御されます。この変数の内容がコアイメージを格納する
     ファイルの名前を示します。このファイル名は絶対でも相対でもかまいません (
     後者の場合、コアを生成するプログラムの現在のディレクトリから解決されま
     す)。このファイル名テンプレート中のシーケンス %N はプロセス名で置き換えら
     れ、 %P はプロセスの PID で置き換えられ、 %U は UID で置き換えられます。
     デフォルトの名前は %N.core であり、伝統的な FreeBSD の振舞いとなります。
     コアファイルは、(ページ数での) 大きさが <sys/param.h> ファイルで UPAGES
     と定義されている u.  領域からなります。 u.  領域は <sys/user.h> に記述さ
     れている user 構造体から始まります。コアの残りの部分には、データページに
     続いてプロセスイメージのスタックページが格納されます。コアファイル中のデ
     ータ空間イメージの (ページ数での) 大きさは、 u.  領域の変数 u_dsize で与
     えられます。コアファイル中のスタックイメージの (ページ数での) 大きさは、
     u.  領域の変数 u_ssize で与えられます。 ``ページ'' サイズは定数 PAGE_SIZE
     で与えられます (これも <sys/param.h> から与えられます)。


使用例

     全コアイメージを、 /var/coredumps 以下のユーザごとのプライベート領域に格
     納するためには、次のように sysctl(8) コマンドを使用します:

           sysctl -w kern.corefile="/var/coredumps/%U/%N.core"


関連項目

     gdb(1), kgdb(1), setrlimit(2), sigaction(2), sysctl(8)


歴史

     core ファイルのフォーマットは Version 6 AT&T UNIX に登場しました。

FreeBSD 4.4                    December 11, 1993                   FreeBSD 4.4

ABELNET VPSサービス