.\" Copyright (c) 1980, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)core.5 8.3 (Berkeley) 12/11/93 .\" %FreeBSD: src/share/man/man5/core.5,v 1.17.4.1 2005/02/05 01:02:37 das Exp % .\" .\" $FreeBSD$ .\" .Dd January 9, 2002 .Dt CORE 5 .Os .Sh 名称 .Nm core .Nd メモリイメージのファイルフォーマット .Sh 書式 .In sys/param.h .Sh 解説 プロセスを異常終了させるシグナルのうちのいくつかは、 プロセスのメモリ内状態の記録をディスクに書き出させる効果もあります。 これにより、利用可能なデバッガのどれかを使用して後で検査を行うことが 可能です .Pf ( Xr sigaction 2 を参照してください)。 このメモリイメージは、デフォルトでは作業ディレクトリの .Nm プログラム名.core という名前のファイルに書かれます。 ただし、終了したプロセスがそのディレクトリに書きこみ権限を持ち、 発生した異常がシステムを破壊しないことが前提です。 (システムが破壊された場合には、 コアファイルを保存するかどうかの決定は不定です。 .Xr savecore 8 を参照してください。) .Pp コアファイルの最大サイズは .Xr setrlimit 2 により制限されます。 制限よりもサイズの大きなファイルは生成されません。 .Pp コアファイル名は .Xr sysctl 8 変数 .Va kern.corefile にて制御されます。 この変数の内容がコアイメージを格納するファイルの名前を示します。 このファイル名は絶対パスでも相対パスでもかまいません (後者の場合、コアイメージを生成するプログラムの現在のディレクトリ から解決されます)。 このファイル名テンプレート中にあるシーケンス .Em \&%N はいずれもプロセス名で置き換えられ、 .Em \&%P はプロセスの PID で置き換えられ、 .Em \&%U は UID で置き換えられます。 デフォルトの名前は .Em \&%N.core であり、伝統的な .Fx の振舞いとなります。 .Pp デフォルトでは、実ユーザまたは実効ユーザ、あるいは実グループ または実効グループが変更されているプロセスはコアファイルを 生成しません。 この動作は .Xr sysctl 8 で .Va kern.sugid_coredump を 1 にすることによりコアダンプを生成するように変更できます。 .Sh 使用例 全コアイメージを、 .Pa /var/coredumps 以下のユーザごとのプライベート領域に格納するためには、 次のように .Xr sysctl 8 コマンドを使用します: .Pp .Dl sysctl kern.corefile="/var/coredumps/\&%U/\&%N.core" .Sh 関連項目 .Xr gdb 1 , .Xr kgdb 1 , .Xr setrlimit 2 , .Xr sigaction 2 , .Xr sysctl 8 .Sh 歴史 .Nm ファイルのフォーマットは .At v6 に登場しました。