xref: /freebsd/usr.bin/gcore/gcore.1 (revision 397e83df75e0fcd0d3fcb95ae4d794cb7600fc89)
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.Dd April 24, 2021
29.Dt GCORE 1
30.Os
31.Sh NAME
32.Nm gcore
33.Nd get core images of running process
34.Sh SYNOPSIS
35.Nm
36.Op Fl f
37.Op Fl k
38.Op Fl c Ar core
39.Op Ar executable
40.Ar pid
41.Sh DESCRIPTION
42The
43.Nm
44utility creates a core image of the specified process,
45suitable for use with
46.Xr gdb 1 Pq Pa ports/devel/gdb .
47By default, the core is written to the file
48.Dq Pa core.<pid> .
49The process identifier,
50.Ar pid ,
51must be given on the command line.
52.Pp
53The following options are available:
54.Bl -tag -width indent
55.It Fl c
56Write the core file to the specified file instead of
57.Dq Pa core.<pid> .
58.It Fl f
59Dumps all available segments, excluding only malformed and undumpable
60segments.
61Unlike the default invocation, this flag dumps mappings of devices which
62may invalidate the state of device transactions or trigger other unexpected
63behavior.
64As a result, this flag should only be used when the behavior of the
65application and any devices it has mapped is fully understood and any side
66effects can be controlled or tolerated.
67.It Fl k
68Use the
69.Xr ptrace 2
70.Dv PT_COREDUMP
71kernel facility to write the core dump, instead of reading the process'
72memory and constructing the dump file in
73.Nm
74itself.
75This is faster, and the dump is written by the
76same kernel code that writes core dumps upon fatal signals.
77.El
78.Sh FILES
79.Bl -tag -width /var/log/messages -compact
80.It Pa core.<pid>
81the core image
82.El
83.Sh HISTORY
84A
85.Nm
86utility appeared in
87.Bx 4.2 .
88.Sh BUGS
89Because of the
90.Xr ptrace 2
91usage
92.Nm
93may not work with processes which are actively being investigated with
94.Xr truss 1
95or
96.Xr gdb 1 Pq Pa ports/devel/gdb .
97Additionally, interruptable sleeps may exit with EINTR.
98.Pp
99The
100.Nm
101utility is not compatible with the original
102.Bx 4.2
103version.
104