2016-11-04 17:10:36 -04:00
|
|
|
|
<!--
|
2022-09-06 19:14:07 -04:00
|
|
|
|
Copyright 2014 The Crashpad Authors
|
2016-11-04 17:10:36 -04:00
|
|
|
|
|
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
|
you may not use this file except in compliance with the License.
|
|
|
|
|
You may obtain a copy of the License at
|
|
|
|
|
|
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
|
|
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
|
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
|
See the License for the specific language governing permissions and
|
|
|
|
|
limitations under the License.
|
|
|
|
|
-->
|
|
|
|
|
|
|
|
|
|
# generate_dump(1)
|
|
|
|
|
|
|
|
|
|
## Name
|
|
|
|
|
|
|
|
|
|
generate_dump—Generate a minidump file containing a snapshot of a running
|
|
|
|
|
process
|
|
|
|
|
|
|
|
|
|
## Synopsis
|
|
|
|
|
|
|
|
|
|
**generate_dump** [_OPTION…_] _PID_
|
|
|
|
|
|
|
|
|
|
## Description
|
|
|
|
|
|
|
|
|
|
Generates a minidump file containing a snapshot of a running process whose
|
|
|
|
|
process identifier is _PID_. By default, the target process will be suspended
|
|
|
|
|
while the minidump is generated, and the minidump file will be written to
|
|
|
|
|
`minidump.PID`. After the minidump file is generated, the target process resumes
|
|
|
|
|
running.
|
|
|
|
|
|
|
|
|
|
The minidump file will contain information about the process, its threads, its
|
|
|
|
|
modules, and the system. It will not contain any exception information because
|
|
|
|
|
it will be generated from a live running process, not as a result of an
|
|
|
|
|
exception occurring.
|
|
|
|
|
|
|
|
|
|
On macOS, this program uses `task_for_pid()` to access the process’ task port.
|
|
|
|
|
This operation may be restricted to use by the superuser, executables signed by
|
|
|
|
|
an authority trusted by the system, and processes otherwise permitted by
|
|
|
|
|
taskgated(8). Consequently, this program must normally either be signed or be
|
|
|
|
|
invoked by root. It is possible to install this program as a setuid root
|
|
|
|
|
executable to overcome this limitation, although it will remain impossible to
|
|
|
|
|
generate dumps for processes protected by [System Integrity Protection
|
|
|
|
|
(SIP)](https://support.apple.com/HT204899), including those whose “restrict”
|
|
|
|
|
codesign(1) option is respected.
|
|
|
|
|
|
|
|
|
|
This program is similar to the gcore(1) program available on some operating
|
|
|
|
|
systems.
|
|
|
|
|
|
|
|
|
|
## Options
|
|
|
|
|
|
|
|
|
|
* **-r**, **--no-suspend**
|
|
|
|
|
|
|
|
|
|
The target process will continue running while the minidump file is
|
|
|
|
|
generated. Normally, the target process is suspended during this operation,
|
|
|
|
|
which guarantees that the minidump file will contain an atomic snapshot of
|
|
|
|
|
the process.
|
|
|
|
|
|
|
|
|
|
This option may be useful when attempting to generate a minidump from a
|
|
|
|
|
process that dump generation has an interprocess dependency on, such as a
|
|
|
|
|
system server like launchd(8) or opendirectoryd(8) on macOS. Deadlock could
|
|
|
|
|
occur if any portion of the dump generation operation blocks while waiting
|
|
|
|
|
for a response from one of these servers while they are suspended.
|
|
|
|
|
|
|
|
|
|
* **-o**, **--output**=_FILE_
|
|
|
|
|
|
|
|
|
|
The minidump will be written to _FILE_ instead of `minidump.PID`.
|
|
|
|
|
|
|
|
|
|
* **--help**
|
|
|
|
|
|
|
|
|
|
Display help and exit.
|
|
|
|
|
|
|
|
|
|
* **--version**
|
|
|
|
|
|
|
|
|
|
Output version information and exit.
|
|
|
|
|
|
|
|
|
|
## Examples
|
|
|
|
|
|
|
|
|
|
Generate a minidump file in `/tmp/minidump` containing a snapshot of the process
|
|
|
|
|
with PID 1234.
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
$ generate_dump --output=/tmp/minidump 1234
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## Exit Status
|
|
|
|
|
|
|
|
|
|
* **0**
|
|
|
|
|
|
|
|
|
|
Success.
|
|
|
|
|
|
|
|
|
|
* **1**
|
|
|
|
|
|
|
|
|
|
Failure, with a message printed to the standard error stream.
|
|
|
|
|
|
|
|
|
|
## See Also
|
|
|
|
|
|
|
|
|
|
[catch_exception_tool(1)](mac/catch_exception_tool.md)
|
|
|
|
|
|
|
|
|
|
## Resources
|
|
|
|
|
|
|
|
|
|
Crashpad home page: https://crashpad.chromium.org/.
|
|
|
|
|
|
|
|
|
|
Report bugs at https://crashpad.chromium.org/bug/new.
|
|
|
|
|
|
|
|
|
|
## Copyright
|
|
|
|
|
|
|
|
|
|
Copyright 2014 [The Crashpad
|
2022-07-25 20:00:27 -07:00
|
|
|
|
Authors](https://chromium.googlesource.com/crashpad/crashpad/+/main/AUTHORS).
|
2016-11-04 17:10:36 -04:00
|
|
|
|
|
|
|
|
|
## License
|
|
|
|
|
|
|
|
|
|
Licensed under the Apache License, Version 2.0 (the “License”);
|
|
|
|
|
you may not use this file except in compliance with the License.
|
|
|
|
|
You may obtain a copy of the License at
|
|
|
|
|
|
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
|
|
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
|
|
|
distributed under the License is distributed on an “AS IS” BASIS,
|
|
|
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
|
See the License for the specific language governing permissions and
|
|
|
|
|
limitations under the License.
|