Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(78)

Side by Side Diff: third_party/crashpad/crashpad/handler/crashpad_handler.ad

Issue 2478633002: Update Crashpad to b47bf6c250c6b825dee1c5fbad9152c2c962e828 (Closed)
Patch Set: mac comment 2 Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Crashpad Authors. All rights reserved. 1 // Copyright 2014 The Crashpad Authors. All rights reserved.
2 // 2 //
3 // Licensed under the Apache License, Version 2.0 (the "License"); 3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with 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 5 // You may obtain a copy of the License at
6 // 6 //
7 // http://www.apache.org/licenses/LICENSE-2.0 7 // http://www.apache.org/licenses/LICENSE-2.0
8 // 8 //
9 // Unless required by applicable law or agreed to in writing, software 9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS, 10 // distributed under the License is distributed on an "AS IS" BASIS,
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
44 Alternatively, on OS X, this server may be started from launchd(8), where it 44 Alternatively, on OS X, this server may be started from launchd(8), where it
45 receives the Mach service name in a *--mach-service* argument. It checks in with 45 receives the Mach service name in a *--mach-service* argument. It checks in with
46 the bootstrap server under this service name, and clients may look it up with 46 the bootstrap server under this service name, and clients may look it up with
47 the bootstrap server under this service name. It monitors this service for 47 the bootstrap server under this service name. It monitors this service for
48 exception messages. Upon receipt of +SIGTERM+, the server exits after allowing 48 exception messages. Upon receipt of +SIGTERM+, the server exits after allowing
49 any upload in progress to complete. +SIGTERM+ is normally sent by launchd(8) 49 any upload in progress to complete. +SIGTERM+ is normally sent by launchd(8)
50 when it determines that the server should exit. 50 when it determines that the server should exit.
51 51
52 On Windows, clients register with this server by communicating with it via the 52 On Windows, clients register with this server by communicating with it via the
53 named pipe identified by the *--pipe-name* argument. Alternatively, the server 53 named pipe identified by the *--pipe-name* argument. Alternatively, the server
54 can create a new pipe with a random name and inform a client of this name via 54 can inherit an already-created pipe from a parent process by using the
55 the *--handshake-handle* mechanism; clients may then register by communicating 55 *--initial-client-data* mechanism. That argument also takes all of the arguments
56 with it via that named pipe. During registration, a client provides the server 56 that would normally be passed in a registration message, and so constitutes
57 with an OS event object that it will signal should it crash. The server obtains 57 registration of the first client. Subsequent clients may then register by
58 the client’s process handle and waits on the crash event object for a crash, as 58 communicating with the server via the pipe. During registration, a client
59 well as the client’s process handle for the client to exit cleanly without 59 provides the server with an OS event object that it will signal should it crash.
60 crashing. When a server started via the *--handshake-handle* mechanism loses all 60 The server obtains the client’s process handle and waits on the crash event
61 of its clients, it exits after allowing any upload in progress to complete. 61 object for a crash, as well as the client’s process handle for the client to
62 exit cleanly without crashing. When a server started via the
63 *--initial-client-data* mechanism loses all of its clients, it exits after
64 allowing any upload in progress to complete.
62 65
63 On Windows, this executable is built by default as a Windows GUI app, so no 66 On Windows, this executable is built by default as a Windows GUI app, so no
64 console will appear in normal usage. This is the version that will typically be 67 console will appear in normal usage. This is the version that will typically be
65 used. A second copy is also made with a +.com+ extension, rather than +.exe+. In 68 used. A second copy is also made with a +.com+ extension, rather than +.exe+. In
66 this second copy, the PE header is modified to indicate that it's a console app. 69 this second copy, the PE header is modified to indicate that it's a console app.
67 This is useful because the +.com+ is found in the path before the +.exe+, so 70 This is useful because the +.com+ is found in the path before the +.exe+, so
68 when run normally from a shell using only the basename (without an explicit 71 when run normally from a shell using only the basename (without an explicit
69 +.com+ or +.exe+ extension), the +.com+ console version will be chosen, and so 72 +.com+ or +.exe+ extension), the +.com+ console version will be chosen, and so
70 stdio will be hooked up as expected to the parent console so that logging output 73 stdio will be hooked up as expected to the parent console so that logging output
71 will be visible. 74 will be visible.
(...skipping 28 matching lines...) Expand all
100 required. Crash reports are written to this database, and if uploads are 103 required. Crash reports are written to this database, and if uploads are
101 enabled, uploaded from this database to a crash report collection server. If the 104 enabled, uploaded from this database to a crash report collection server. If the
102 database does not exist, it will be created, provided that the parent directory 105 database does not exist, it will be created, provided that the parent directory
103 of 'PATH' exists. 106 of 'PATH' exists.
104 107
105 *--handshake-fd*='FD':: 108 *--handshake-fd*='FD'::
106 Perform the handshake with the initial client on the file descriptor at 'FD'. 109 Perform the handshake with the initial client on the file descriptor at 'FD'.
107 Either this option or *--mach-service*, but not both, is required. This option 110 Either this option or *--mach-service*, but not both, is required. This option
108 is only valid on OS X. 111 is only valid on OS X.
109 112
110 *--handshake-handle*='HANDLE':: 113 *--initial-client-data*='HANDLE_request_crash_dump','HANDLE_request_non_crash_du mp','HANDLE_non_crash_dump_completed','HANDLE_first_pipe_instance','HANDLE_clien t_process','Address_crash_exception_information','Address_non_crash_exception_in formation','Address_debug_critical_section'::
111 Perform the handshake with the initial client on the HANDLE at 'HANDLE'. Either 114 Register the initial client using the inherited handles and data provided. For
112 this option or *--pipe-name*, but not both, is required. This option is only 115 more information on the arguments, see the implementations of +CrashpadClient+
113 valid on Windows. 116 and +ExceptionHandlerServer+. Either this option or *--pipe-name*, but not both,
117 is required. This option is only valid on Windows.
114 + 118 +
115 When this option is present, the server creates a new named pipe at a random 119 When this option is present, the server creates a new named pipe at a random
116 name and informs its client of the name. The server waits for at least one 120 name and informs its client of the name. The server waits for at least one
117 client to register, and exits when all clients have exited, after waiting for 121 client to register, and exits when all clients have exited, after waiting for
118 any uploads in progress to complete. 122 any uploads in progress to complete.
119 123
120 *--mach-service*='SERVICE':: 124 *--mach-service*='SERVICE'::
121 Check in with the bootstrap server under the name 'SERVICE'. Either this option 125 Check in with the bootstrap server under the name 'SERVICE'. Either this option
122 or *--handshake-fd*, but not both, is required. This option is only valid on OS 126 or *--handshake-fd*, but not both, is required. This option is only valid on OS
123 X. 127 X.
124 + 128 +
125 'SERVICE' may already be reserved with the bootstrap server in cases where this 129 'SERVICE' may already be reserved with the bootstrap server in cases where this
126 tool is started by launchd(8) as a result of a message being sent to a service 130 tool is started by launchd(8) as a result of a message being sent to a service
127 declared in a job’s +MachServices+ dictionary (see launchd.plist(5)). The 131 declared in a job’s +MachServices+ dictionary (see launchd.plist(5)). The
128 service name may also be completely unknown to the system. 132 service name may also be completely unknown to the system.
129 133
130 *--no-rate-limit*:: 134 *--no-rate-limit*::
131 Do not rate limit the upload of crash reports. By default uploads are throttled 135 Do not rate limit the upload of crash reports. By default uploads are throttled
132 to one per hour. Using this option disables that behavior, and Crashpad will 136 to one per hour. Using this option disables that behavior, and Crashpad will
133 attempt to upload all captured reports. 137 attempt to upload all captured reports.
134 138
135 *--pipe-name*='PIPE':: 139 *--pipe-name*='PIPE'::
136 Listen on the given pipe name for connections from clients. 'PIPE' must be of 140 Listen on the given pipe name for connections from clients. 'PIPE' must be of
137 the form +\\.\pipe\<somename>+. Either this option or *--handshake-handle*, but 141 the form +\\.\pipe\<somename>+. Either this option or *--initial-client-data*,
138 not both, is required. This option is only valid on Windows. 142 but not both, is required. This option is only valid on Windows.
139 + 143 +
140 When this option is present, the server creates a named pipe at 'PIPE', a name 144 When this option is present, the server creates a named pipe at 'PIPE', a name
141 known to both the server and its clients. The server continues running even 145 known to both the server and its clients. The server continues running even
142 after all clients have exited. 146 after all clients have exited.
143 147
144 *--reset-own-crash-exception-port-to-system-default*:: 148 *--reset-own-crash-exception-port-to-system-default*::
145 Causes the exception handler server to set its own crash handler to the system 149 Causes the exception handler server to set its own crash handler to the system
146 default before beginning operation. This is only expected to be useful in cases 150 default before beginning operation. This is only expected to be useful in cases
147 where the server inherits an inappropriate crash handler from its parent 151 where the server inherits an inappropriate crash handler from its parent
148 process. This option is only valid on OS X. Use of this option is discouraged. 152 process. This option is only valid on OS X. Use of this option is discouraged.
(...skipping 21 matching lines...) Expand all
170 Failure, with a message printed to the standard error stream. 174 Failure, with a message printed to the standard error stream.
171 175
172 == See Also 176 == See Also
173 177
174 man_link:catch_exception_tool[1], 178 man_link:catch_exception_tool[1],
175 man_link:crashpad_database_util[1], 179 man_link:crashpad_database_util[1],
176 man_link:generate_dump[1], 180 man_link:generate_dump[1],
177 man_link:run_with_crashpad[1] 181 man_link:run_with_crashpad[1]
178 182
179 include::../doc/support/man_footer.ad[] 183 include::../doc/support/man_footer.ad[]
OLDNEW
« no previous file with comments | « third_party/crashpad/crashpad/handler/crash_report_upload_thread.cc ('k') | third_party/crashpad/crashpad/handler/handler.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698