OLD | NEW |
(Empty) | |
| 1 // Copyright 2014 The Crashpad Authors. All rights reserved. |
| 2 // |
| 3 // Licensed under the Apache License, Version 2.0 (the "License"); |
| 4 // you may not use this file except in compliance with the License. |
| 5 // You may obtain a copy of the License at |
| 6 // |
| 7 // http://www.apache.org/licenses/LICENSE-2.0 |
| 8 // |
| 9 // Unless required by applicable law or agreed to in writing, software |
| 10 // distributed under the License is distributed on an "AS IS" BASIS, |
| 11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 12 // See the License for the specific language governing permissions and |
| 13 // limitations under the License. |
| 14 |
| 15 :doctype: manpage |
| 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 [verse] |
| 26 *run_with_crashpad* ['OPTION…'] 'COMMAND' ['ARG…'] |
| 27 |
| 28 == Description |
| 29 |
| 30 Starts a Crashpad exception handler server such as crashpad_handler(8) and |
| 31 becomes its client, setting an exception port referencing the handler. Then, |
| 32 executes 'COMMAND' along with any arguments specified ('ARG…') with the new |
| 33 exception port in 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 *-h*, *--handler*='HANDLER':: |
| 46 Invoke 'HANDLER' as the Crashpad handler program instead of the default, |
| 47 *crashpad_handler*. |
| 48 |
| 49 *-a*, *--handler-argument*='ARGUMENT':: |
| 50 Invokes the Crashpad handler program with 'ARGUMENT' as one of its arguments. |
| 51 This option may appear zero, one, or more times. Regardless of this option’s |
| 52 presence, the handler will always be invoked with the necessary arguments to |
| 53 perform a handshake. |
| 54 |
| 55 *--help*:: |
| 56 Display help and exit. |
| 57 |
| 58 *--version*:: |
| 59 Output version information and exit. |
| 60 |
| 61 == Examples |
| 62 |
| 63 Starts a Crashpad exception handler server by its default name, |
| 64 *crashpad_handler*, and runs a program with this handler in effect. |
| 65 [subs="quotes"] |
| 66 ---- |
| 67 $ *run_with_crashpad crash* |
| 68 Illegal instruction: 4 |
| 69 ---- |
| 70 |
| 71 Starts a Crashpad exception handler server at a nonstandard path, and runs |
| 72 exception_port_tool(1) to show the task-level exception ports. |
| 73 [subs="quotes"] |
| 74 ---- |
| 75 $ *run_with_crashpad --handler=/tmp/crashpad_handler exception_port_tool* |
| 76 task exception port 0, mask 0x1c00 (CRASH|RESOURCE|GUARD), port 0x30b, behavior |
| 77 0x80000003 (STATE_IDENTITY|MACH), flavor 7 (THREAD) |
| 78 ---- |
| 79 |
| 80 == Exit Status |
| 81 |
| 82 *0*:: |
| 83 Success. |
| 84 |
| 85 *125*:: |
| 86 Failure, with a message printed to the standard error stream. |
| 87 |
| 88 *126*:: |
| 89 The program specified by 'COMMAND' was found, but could not be invoked. |
| 90 |
| 91 *127*:: |
| 92 The program specified by 'COMMAND' could not be found. |
| 93 |
| 94 == See Also |
| 95 |
| 96 crashpad_handler(8), |
| 97 exception_port_tool(1) |
| 98 |
| 99 include::../man_footer.ad[] |
OLD | NEW |