xref: /freebsd/usr.bin/gcore/gcore.1 (revision 347b1991b09983a03a4916c0d6b3e6097f852c89)
1.\" Copyright (c) 1983, 1990, 1992, 1993
2.\"	The Regents of the University of California.  All rights reserved.
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\"    notice, this list of conditions and the following disclaimer.
9.\" 2. Redistributions in binary form must reproduce the above copyright
10.\"    notice, this list of conditions and the following disclaimer in the
11.\"    documentation and/or other materials provided with the distribution.
12.\" 3. Neither the name of the University nor the names of its contributors
13.\"    may be used to endorse or promote products derived from this software
14.\"    without specific prior written permission.
15.\"
16.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
17.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
20.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26.\" SUCH DAMAGE.
27.\"
28.\"	@(#)gcore.1	8.2 (Berkeley) 4/18/94
29.\" $FreeBSD$
30.\"
31.Dd April 24, 2021
32.Dt GCORE 1
33.Os
34.Sh NAME
35.Nm gcore
36.Nd get core images of running process
37.Sh SYNOPSIS
38.Nm
39.Op Fl f
40.Op Fl k
41.Op Fl c Ar core
42.Op Ar executable
43.Ar pid
44.Sh DESCRIPTION
45The
46.Nm
47utility creates a core image of the specified process,
48suitable for use with
49.Xr gdb 1 Pq Pa ports/devel/gdb .
50By default, the core is written to the file
51.Dq Pa core.<pid> .
52The process identifier,
53.Ar pid ,
54must be given on the command line.
55.Pp
56The following options are available:
57.Bl -tag -width indent
58.It Fl c
59Write the core file to the specified file instead of
60.Dq Pa core.<pid> .
61.It Fl f
62Dumps all available segments, excluding only malformed and undumpable
63segments.
64Unlike the default invocation, this flag dumps mappings of devices which
65may invalidate the state of device transactions or trigger other unexpected
66behavior.
67As a result, this flag should only be used when the behavior of the
68application and any devices it has mapped is fully understood and any side
69effects can be controlled or tolerated.
70.It Fl k
71Use the
72.Xr ptrace 2
73.Dv PT_COREDUMP
74kernel facility to write the core dump, instead of reading the process'
75memory and constructing the dump file in
76.Nm
77itself.
78This is faster, and the dump is written by the
79same kernel code that writes core dumps upon fatal signals.
80.El
81.Sh FILES
82.Bl -tag -width /var/log/messages -compact
83.It Pa core.<pid>
84the core image
85.El
86.Sh HISTORY
87A
88.Nm
89utility appeared in
90.Bx 4.2 .
91.Sh BUGS
92Because of the
93.Xr ptrace 2
94usage
95.Nm
96may not work with processes which are actively being investigated with
97.Xr truss 1
98or
99.Xr gdb 1 Pq Pa ports/devel/gdb .
100Additionally, interruptable sleeps may exit with EINTR.
101.Pp
102The
103.Nm
104utility is not compatible with the original
105.Bx 4.2
106version.
107