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 |