| 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 *--annotation*='KEY=VALUE':: |
| 50 Passed to the Crashpad handler program as an *--annotation* argument. |
| 51 |
| 52 *--database*='PATH':: |
| 53 Passed to the Crashpad handler program as its *--database* argument. |
| 54 |
| 55 *--url*='URL':: |
| 56 Passed to the Crashpad handler program as its *--url* argument. |
| 57 |
| 58 *-a*, *--argument*='ARGUMENT':: |
| 59 Invokes the Crashpad handler program with 'ARGUMENT' as one of its arguments. |
| 60 This option may appear zero, one, or more times. If this program has a specific |
| 61 option such as *--database* matching the desired Crashpad handler program |
| 62 option, the specific option should be used in preference to *--argument*. |
| 63 Regardless of this option’s presence, the handler will always be invoked with |
| 64 the necessary arguments to perform a handshake. |
| 65 |
| 66 *--help*:: |
| 67 Display help and exit. |
| 68 |
| 69 *--version*:: |
| 70 Output version information and exit. |
| 71 |
| 72 == Examples |
| 73 |
| 74 Starts a Crashpad exception handler server by its default name, |
| 75 *crashpad_handler*, and runs a program with this handler in effect. |
| 76 [subs="quotes"] |
| 77 ---- |
| 78 $ *run_with_crashpad --database=/tmp/crashpad_database crash* |
| 79 Illegal instruction: 4 |
| 80 ---- |
| 81 |
| 82 Starts a Crashpad exception handler server at a nonstandard path, and runs |
| 83 man_link:exception_port_tool[1] to show the task-level exception ports. |
| 84 [subs="quotes"] |
| 85 ---- |
| 86 $ *run_with_crashpad --handler=/tmp/crashpad_handler \ |
| 87 --database=/tmp/crashpad_database exception_port_tool \ |
| 88 --show-task* |
| 89 task exception port 0, mask 0x1c00 (CRASH|RESOURCE|GUARD), port |
| 90 0x30b, behavior 0x80000003 (STATE_IDENTITY|MACH), flavor 7 (THREAD) |
| 91 ---- |
| 92 |
| 93 == Exit Status |
| 94 |
| 95 *0*:: |
| 96 Success. |
| 97 |
| 98 *125*:: |
| 99 Failure, with a message printed to the standard error stream. |
| 100 |
| 101 *126*:: |
| 102 The program specified by 'COMMAND' was found, but could not be invoked. |
| 103 |
| 104 *127*:: |
| 105 The program specified by 'COMMAND' could not be found. |
| 106 |
| 107 == See Also |
| 108 |
| 109 man_link:crashpad_handler[8], |
| 110 man_link:exception_port_tool[1] |
| 111 |
| 112 include::../../doc/support/man_footer.ad[] |
| OLD | NEW |