aboutsummaryrefslogtreecommitdiff
path: root/ja_JP.eucJP/man/man5/core.5
blob: 6a33814921ca0cfe9209b2bfebc011e94fbb3e61 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
.\" 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.16 2002/03/17 13:09:35 ru Exp %
.\"
.\" $FreeBSD$
.\"
.Dd January 9, 2002
.Dt CORE 5
.Os
.Sh 名称
.Nm core
.Nd メモリイメージのファイルフォーマット
.Sh 書式
.In sys/param.h
.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
であり、伝統的な
.Fx
の振舞いとなります。
.Pp
デフォルトでは、実または実効のユーザ、グループが変更されている
プロセスがコアファイルを生成しません。
.\" +By default, a process that changes user or group credentials whether
.\" +real or effective will not create a corefile.
この動作は
.Xr sysctl 8
で
.Va kern.sugid_coredump
を 1 にすることによりコアを生成する用に変更することができます。
.\" +This behaviour can be
.\" +changed to generate a core dump by setting the
.\" +.Xr sysctl 8
.\" +variable
.\" +.Va kern.sugid_coredump
.\" +to 1.
コアファイルは、(ページ数での) 大きさが
.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 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
に登場しました。