| Index: tools/mac/run_with_crashpad.ad
|
| diff --git a/tools/mac/run_with_crashpad.ad b/tools/mac/run_with_crashpad.ad
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..c216153e9b5705f1794155ccebc81e3d2ae7161a
|
| --- /dev/null
|
| +++ b/tools/mac/run_with_crashpad.ad
|
| @@ -0,0 +1,99 @@
|
| +// 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
|
| +
|
| += run_with_crashpad(1)
|
| +
|
| +== Name
|
| +
|
| +run_with_crashpad - Run a program with a Crashpad exception handler
|
| +
|
| +== Synopsis
|
| +
|
| +[verse]
|
| +*run_with_crashpad* ['OPTION…'] 'COMMAND' ['ARG…']
|
| +
|
| +== Description
|
| +
|
| +Starts a Crashpad exception handler server such as crashpad_handler(8) and
|
| +becomes its client, setting an exception port referencing the handler. Then,
|
| +executes 'COMMAND' along with any arguments specified ('ARG…') with the new
|
| +exception port in effect.
|
| +
|
| +The exception port is configured to receive exceptions of type +EXC_CRASH+,
|
| ++EXC_RESOURCE+, and +EXC_GUARD+. The exception behavior is configured as
|
| ++EXCEPTION_STATE_IDENTITY | MACH_EXCEPTION_CODES+. The thread state flavor is
|
| +set to +MACHINE_THREAD_STATE+.
|
| +
|
| +Programs that use the Crashpad client library directly will not normally use
|
| +this tool. This tool exists to allow programs that are unaware of Crashpad to be
|
| +run with a Crashpad exception handler.
|
| +
|
| +== Options
|
| +*-h*, *--handler*='HANDLER'::
|
| +Invoke 'HANDLER' as the Crashpad handler program instead of the default,
|
| +*crashpad_handler*.
|
| +
|
| +*-a*, *--handler-argument*='ARGUMENT'::
|
| +Invokes the Crashpad handler program with 'ARGUMENT' as one of its arguments.
|
| +This option may appear zero, one, or more times. Regardless of this option’s
|
| +presence, the handler will always be invoked with the necessary arguments to
|
| +perform a handshake.
|
| +
|
| +*--help*::
|
| +Display help and exit.
|
| +
|
| +*--version*::
|
| +Output version information and exit.
|
| +
|
| +== Examples
|
| +
|
| +Starts a Crashpad exception handler server by its default name,
|
| +*crashpad_handler*, and runs a program with this handler in effect.
|
| +[subs="quotes"]
|
| +----
|
| +$ *run_with_crashpad crash*
|
| +Illegal instruction: 4
|
| +----
|
| +
|
| +Starts a Crashpad exception handler server at a nonstandard path, and runs
|
| +exception_port_tool(1) to show the task-level exception ports.
|
| +[subs="quotes"]
|
| +----
|
| +$ *run_with_crashpad --handler=/tmp/crashpad_handler exception_port_tool*
|
| +task exception port 0, mask 0x1c00 (CRASH|RESOURCE|GUARD), port 0x30b, behavior
|
| +0x80000003 (STATE_IDENTITY|MACH), flavor 7 (THREAD)
|
| +----
|
| +
|
| +== Exit Status
|
| +
|
| +*0*::
|
| +Success.
|
| +
|
| +*125*::
|
| +Failure, with a message printed to the standard error stream.
|
| +
|
| +*126*::
|
| +The program specified by 'COMMAND' was found, but could not be invoked.
|
| +
|
| +*127*::
|
| +The program specified by 'COMMAND' could not be found.
|
| +
|
| +== See Also
|
| +
|
| +crashpad_handler(8),
|
| +exception_port_tool(1)
|
| +
|
| +include::../man_footer.ad[]
|
|
|