CORE(5) FreeBSD ファイルフォーマットマニュアル CORE(5)
名称
core − メモリイメージのファイルフォーマット |
書式
#include <sys/param.h> |
解説
プロセスを異常終了させるシグナルのうちのいくつかは、プロセスのメモリ内状 態の記録をディスクに書き出させる効果もあります。これにより、利用可能なデ バッガのどれかを使用して後で検査を行うことが可能です (sigaction(2) を参照 してください)。このメモリイメージは、デフォルトでは作業ディレクトリの プ ログラム名.core という名前のファイルに書かれます。ただし、終了したプロセ スがそのディレクトリに書きこみ権限を持ち、発生した異常がシステムを破壊し ないことが前提です。 (システムが破壊された場合には、コアファイルを保存す るかどうかの決定は不定です。 savecore(8) を参照してください。) コアファイルの最大サイズは setrlimit(2) により制限されます。制限よりもサ イズの大きなファイルは生成されません。 コアファイル名は sysctl(8) 変数 kern.corefile にて制御されます。この変数 の内容がコアイメージを格納するファイルの名前を示します。このファイル名は 絶対パスでも相対パスでもかまいません (後者の場合、コアイメージを生成する プログラムの現在のディレクトリから解決されます)。このファイル名テンプレー ト中にあるシーケンス %N はいずれもプロセス名で置き換えられ、 %P はプロセ スの PID で置き換えられ、 %U は UID で置き換えられます。デフォルトの名前 は %N.core であり、伝統的な FreeBSD の振舞いとなります。 デフォルトでは、実ユーザまたは実効ユーザ、あるいは実グループまたは実行グ ループが変更されているプロセスはコアファイルを生成しません。この動作は sysctl(8) で kern.sugid_coredump を 1 にすることによりコアダンプを生成す るように変更できます。 |
使用例
全コアイメージを、 /var/coredumps 以下のユーザごとのプライベート領域に格 納するためには、次のように sysctl(8) コマンドを使用します: |
sysctl kern.corefile="/var/coredumps/%U/%N.core" |
関連項目
歴史
core ファイルのフォーマットは Version 6 AT&T UNIX に登場しました。 FreeBSD 10.0 January 9, 2002 FreeBSD 10.0 |