OLD | NEW |
(Empty) | |
| 1 <!-- |
| 2 Copyright 2014 The Crashpad Authors. All rights reserved. |
| 3 |
| 4 Licensed under the Apache License, Version 2.0 (the "License"); |
| 5 you may not use this file except in compliance with the License. |
| 6 You may obtain a copy of the License at |
| 7 |
| 8 http://www.apache.org/licenses/LICENSE-2.0 |
| 9 |
| 10 Unless required by applicable law or agreed to in writing, software |
| 11 distributed under the License is distributed on an "AS IS" BASIS, |
| 12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 13 See the License for the specific language governing permissions and |
| 14 limitations under the License. |
| 15 --> |
| 16 |
| 17 # run_with_crashpad(1) |
| 18 |
| 19 ## Name |
| 20 |
| 21 run_with_crashpad—Run a program with a Crashpad exception handler |
| 22 |
| 23 ## Synopsis |
| 24 |
| 25 **run_with_crashpad** [_OPTION…_] _COMMAND_ [_ARG…_] |
| 26 |
| 27 ## Description |
| 28 |
| 29 Starts a Crashpad exception handler server such as |
| 30 [crashpad_handler(8)](../../handler/crashpad_handler.md) and becomes its client, |
| 31 setting an exception port referencing the handler. Then, executes _COMMAND_ |
| 32 along with any arguments specified (_ARG…_) with the new exception port in |
| 33 effect. |
| 34 |
| 35 The exception port is configured to receive exceptions of type `EXC_CRASH`, |
| 36 `EXC_RESOURCE`, and `EXC_GUARD`. The exception behavior is configured as |
| 37 `EXCEPTION_STATE_IDENTITY | MACH_EXCEPTION_CODES`. The thread state flavor is |
| 38 set to `MACHINE_THREAD_STATE`. |
| 39 |
| 40 Programs that use the Crashpad client library directly will not normally use |
| 41 this tool. This tool exists to allow programs that are unaware of Crashpad to be |
| 42 run with a Crashpad exception handler. |
| 43 |
| 44 ## Options |
| 45 |
| 46 * **-h**, **--handler**=_HANDLER_ |
| 47 |
| 48 Invoke _HANDLER_ as the Crashpad handler program instead of the default, |
| 49 **crashpad_handler**. |
| 50 |
| 51 * **--annotation**=_KEY=VALUE_ |
| 52 |
| 53 Passed to the Crashpad handler program as an **--annotation** argument. |
| 54 |
| 55 * **--database**=_PATH_ |
| 56 |
| 57 Passed to the Crashpad handler program as its **--database** argument. |
| 58 |
| 59 * **--url**=_URL_ |
| 60 |
| 61 Passed to the Crashpad handler program as its **--url** argument. |
| 62 |
| 63 * **-a**, **--argument**=_ARGUMENT_ |
| 64 |
| 65 Invokes the Crashpad handler program with _ARGUMENT_ as one of its arguments. |
| 66 This option may appear zero, one, or more times. If this program has a |
| 67 specific option such as **--database** matching the desired Crashpad handler |
| 68 program option, the specific option should be used in preference to |
| 69 **--argument**. Regardless of this option’s presence, the handler will always |
| 70 be invoked with the necessary arguments to perform a handshake. |
| 71 |
| 72 * **--help** |
| 73 |
| 74 Display help and exit. |
| 75 |
| 76 * **--version** |
| 77 |
| 78 Output version information and exit. |
| 79 |
| 80 ## Examples |
| 81 |
| 82 Starts a Crashpad exception handler server by its default name, |
| 83 **crashpad_handler**, and runs a program with this handler in effect. |
| 84 |
| 85 ``` |
| 86 $ run_with_crashpad --database=/tmp/crashpad_database crasher |
| 87 Illegal instruction: 4 |
| 88 ``` |
| 89 |
| 90 Starts a Crashpad exception handler server at a nonstandard path, and runs |
| 91 [exception_port_tool(1)](exception_port_tool.md) to show the task-level |
| 92 exception ports. |
| 93 |
| 94 ``` |
| 95 $ run_with_crashpad --handler=/tmp/crashpad_handler \ |
| 96 --database=/tmp/crashpad_database exception_port_tool \ |
| 97 --show-task |
| 98 task exception port 0, mask 0x1c00 (CRASH|RESOURCE|GUARD), port 0x30b, behavior
0x80000003 (STATE_IDENTITY|MACH), flavor 7 (THREAD) |
| 99 ``` |
| 100 |
| 101 ## Exit Status |
| 102 |
| 103 * **0** |
| 104 |
| 105 Success. |
| 106 |
| 107 * **125** |
| 108 |
| 109 Failure, with a message printed to the standard error stream. |
| 110 |
| 111 * **126** |
| 112 |
| 113 The program specified by _COMMAND_ was found, but could not be invoked. |
| 114 |
| 115 * **127** |
| 116 |
| 117 The program specified by _COMMAND_ could not be found. |
| 118 |
| 119 ## See Also |
| 120 |
| 121 [crashpad_handler(8)](../../handler/crashpad_handler.md), |
| 122 [exception_port_tool(1)](exception_port_tool.md) |
| 123 |
| 124 ## Resources |
| 125 |
| 126 Crashpad home page: https://crashpad.chromium.org/. |
| 127 |
| 128 Report bugs at https://crashpad.chromium.org/bug/new. |
| 129 |
| 130 ## Copyright |
| 131 |
| 132 Copyright 2014 [The Crashpad |
| 133 Authors](https://chromium.googlesource.com/crashpad/crashpad/+/master/AUTHORS). |
| 134 |
| 135 ## License |
| 136 |
| 137 Licensed under the Apache License, Version 2.0 (the “License”); |
| 138 you may not use this file except in compliance with the License. |
| 139 You may obtain a copy of the License at |
| 140 |
| 141 http://www.apache.org/licenses/LICENSE-2.0 |
| 142 |
| 143 Unless required by applicable law or agreed to in writing, software |
| 144 distributed under the License is distributed on an “AS IS” BASIS, |
| 145 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 146 See the License for the specific language governing permissions and |
| 147 limitations under the License. |
OLD | NEW |