.\" 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 .\" %Id: core.5,v 1.7 1998/07/21 18:16:00 joerg Exp % .\" .\" jpman %Id: core.5,v 1.3 1998/06/12 15:55:30 kumano Stab % .\" .Dd December 11, 1993 .Dt CORE 5 .Os BSD 4 .Sh 名称 .Nm core .Nd メモリイメージのファイルフォーマット .Sh 書式 .Fd #include .Sh 解説 プロセスを異常終了させる少数のシグナルは、 プロセスのメモリ内状態の記録をディスクに書き出させる効果もあります。 これにより、デバッガを使用して後で検査を行うことが可能です。( .Xr sigaction 2 を参照してください。) このメモリイメージは、デフォルトでは作業ディレクトリの .Nm プログラム名.core という名前のファイルに書かれます。 ただし、終了したプロセスがそのディレクトリに書きこみ権限を持ち、 発生した異常がシステムを破壊しないことが前提です。 (システムが破壊された場合には、 コアファイルを保存するかどうかの決定は不定です。 .Xr savecore 8 を参照してください。) .Pp コアファイルの最大サイズは .Xr setrlimit 2 により制限されます。 制限よりも大きくなるファイルは生成されません。 ファイル名は .Xr sysctl 8 変数 .Va kern.corefile にて制御されます。 この変数の内容がコアイメージを格納するファイルの名前を示します。 このファイル名は絶対でも相対でもかまいません (後者の場合、コアを生成するプログラムの現在のディレクトリから解決されます)。 このファイル名テンプレート中のシーケンス .Em \&%N はプロセス名で置き換えられ、 .Em \&%P はプロセスの PID で置き換えられ、 .Em \&%U は UID で置き換えられます。 デフォルトの名前は .Em \&%N.core であり、伝統的な FreeBSD の振舞いとなります。 コアファイルは、(ページ数での) 大きさが .Aq Pa sys/param.h ファイルで .Dv UPAGES と定義されている .Fa u . 領域からなります。 .Fa u . 領域は .Aq Pa sys/user.h に記述されている .Fa user 構造体から始まります。 コアの残りの部分には、 データページに続いてプロセスイメージのスタックページが格納されます。 コアファイル中のデータ空間イメージの (ページ数での) 大きさは、 .Fa u . 領域の変数 .Fa u_dsize で与えられます。 コアファイル中のスタックイメージの (ページ数での) 大きさは、 .Fa u . 領域の変数 .Fa u_ssize で与えられます。 ``ページ'' サイズは定数 .Dv PAGE_SIZE で与えられます (これも .Aq Pa sys/param.h から与えられます)。 .Sh 使用例 全コアイメージを、 .Pa /var/coredumps 以下のユーザごとのプライベート領域に格納するためには、 次のように .Xr sysctl 8 コマンドを使用します: .Pp .Dl sysctl -w 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 core ファイルのフォーマットは .At v6 に登場しました。