mirror of
https://github.com/chromium/crashpad.git
synced 2024-12-29 00:32:35 +08:00
3ee6566051
This adds an Info.plist to these two tools that use task_for_pid(). Since they’re flat unbundled executables, the Info.plist must be placed as a __TEXT,__info_plist section. By setting SecTaskAccess to allowed and signing these tools with a certificate trusted by the system, they will be allowed to use task_for_pid() without requiring the invoking user to be root. This provides an alternative to installing these tools as setuid root. R=rsesek@chromium.org Review URL: https://codereview.chromium.org/822533002
97 lines
3.0 KiB
Plaintext
97 lines
3.0 KiB
Plaintext
// Copyright 2014 The Crashpad Authors. All rights reserved.
|
||
//
|
||
// 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.
|
||
|
||
:doctype: manpage
|
||
|
||
= generate_dump(1)
|
||
|
||
== Name
|
||
|
||
generate_dump - Generate a minidump file containing a snapshot of a running
|
||
process
|
||
|
||
== Synopsis
|
||
|
||
[verse]
|
||
*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.
|
||
|
||
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.
|
||
|
||
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). 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.
|
||
[subs="quotes"]
|
||
----
|
||
$ *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)
|
||
|
||
include::man_footer.ad[]
|