| Index: third_party/crashpad/crashpad/tools/mac/catch_exception_tool.md
|
| diff --git a/third_party/crashpad/crashpad/tools/mac/catch_exception_tool.md b/third_party/crashpad/crashpad/tools/mac/catch_exception_tool.md
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..3c71decf63660bbd4755af78b0c16913e6f34915
|
| --- /dev/null
|
| +++ b/third_party/crashpad/crashpad/tools/mac/catch_exception_tool.md
|
| @@ -0,0 +1,140 @@
|
| +<!--
|
| +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.
|
| +-->
|
| +
|
| +# catch_exception_tool(1)
|
| +
|
| +## Name
|
| +
|
| +catch_exception_tool—Catch Mach exceptions and display information about them
|
| +
|
| +## Synopsis
|
| +
|
| +**catch_exception_tool** **-m** _SERVICE_ [_OPTION…_]
|
| +
|
| +## Description
|
| +
|
| +Runs a Mach exception server registered with the bootstrap server under the name
|
| +_SERVICE_. The exception server is capable of receiving exceptions for
|
| +“behavior” values of `EXCEPTION_DEFAULT`, `EXCEPTION_STATE`, and
|
| +`EXCEPTION_STATE_IDENTITY`, with or without `MACH_EXCEPTION_CODES` set.
|
| +
|
| +## Options
|
| +
|
| + * **-f**, **--file**=_FILE_
|
| +
|
| + Information about the exception will be appended to _FILE_ instead of the
|
| + standard output stream.
|
| +
|
| + * **-m**, **--mach-service**=_SERVICE_
|
| +
|
| + Check in with the bootstrap server under the name _SERVICE_. This service
|
| + name may already be reserved with the bootstrap server in cases where this
|
| + tool is started by launchd(8) as a result of a message being sent to a
|
| + service declared in a job’s `MachServices` dictionary (see launchd.plist(5)).
|
| + The service name may also be completely unknown to the system.
|
| +
|
| + * **-p**, **--persistent**
|
| +
|
| + Continue processing exceptions after the first one. The default mode is
|
| + one-shot, where this tool exits after processing the first exception.
|
| +
|
| + * **-t**, **--timeout**=_TIMEOUT_
|
| +
|
| + Run for a maximum of _TIMEOUT_ seconds. Specify `0` to request non-blocking
|
| + operation, in which the tool exits immediately if no exception is received.
|
| + In **--persistent** mode, _TIMEOUT_ applies to the overall duration that this
|
| + tool will run, not to the processing of individual exceptions. When
|
| + **--timeout** is not specified, this tool will block indefinitely while
|
| + waiting for an exception.
|
| +
|
| + * **--help**
|
| +
|
| + Display help and exit.
|
| +
|
| + * **--version**
|
| +
|
| + Output version information and exit.
|
| +
|
| +## Examples
|
| +
|
| +Run a one-shot blocking exception server registered with the bootstrap server
|
| +under the name `svc`:
|
| +
|
| +```
|
| +$ catch_exception_tool --mach-service=svc --file=out &
|
| +[1] 1233
|
| +$ exception_port_tool --set-handler=handler=bootstrap:svc crasher
|
| +Illegal instruction: 4
|
| +[1]+ Done catch_exception_tool --mach-service=svc --file=out
|
| +$ cat out
|
| +catch_exception_tool: behavior EXCEPTION_DEFAULT|MACH_EXCEPTION_CODES, pid 1234, thread 56789, exception EXC_CRASH, codes[2] 0x4200001, 0, original exception EXC_BAD_INSTRUCTION, original code[0] 1, signal SIGILL
|
| +```
|
| +
|
| +Run an on-demand exception server started by launchd(5) available via the
|
| +bootstrap server under the name `svc`:
|
| +
|
| +```
|
| +$ `on_demand_service_tool --load --label=catch_exception \
|
| + --mach-service=svc \
|
| + $(which catch_exception_tool) --mach-service=svc \
|
| + --file=/tmp/out --persistent --timeout=0
|
| +$ exception_port_tool --set-handler=handler=bootstrap:svc crasher
|
| +Illegal instruction: 4
|
| +$ on_demand_service_tool --unload --label=catch_exception
|
| +$ cat /tmp/out
|
| +catch_exception_tool: behavior EXCEPTION_DEFAULT|MACH_EXCEPTION_CODES, pid 2468, thread 13579, exception EXC_CRASH, codes[2] 0x4200001, 0, original exception EXC_BAD_INSTRUCTION, original code[0] 1, signal SIGILL
|
| +```
|
| +
|
| +## Exit Status
|
| +
|
| + * **0**
|
| +
|
| + Success. In **--persistent** mode with a **--timeout** set, it is considered
|
| + successful if at least one exception was caught when the timer expires.
|
| +
|
| + * **1**
|
| +
|
| + Failure, with a message printed to the standard error stream.
|
| +
|
| +## See Also
|
| +
|
| +[exception_port_tool(1)](exception_port_tool.md),
|
| +[on_demand_service_tool(1)](on_demand_service_tool.md)
|
| +
|
| +## Resources
|
| +
|
| +Crashpad home page: https://crashpad.chromium.org/.
|
| +
|
| +Report bugs at https://crashpad.chromium.org/bug/new.
|
| +
|
| +## Copyright
|
| +
|
| +Copyright 2014 [The Crashpad
|
| +Authors](https://chromium.googlesource.com/crashpad/crashpad/+/master/AUTHORS).
|
| +
|
| +## 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.
|
|
|