diff --git a/doc/generated/doxygen/classcrashpad_1_1CrashpadClient-members.html b/doc/generated/doxygen/classcrashpad_1_1CrashpadClient-members.html index 5ec6c4d3..bf9235a9 100644 --- a/doc/generated/doxygen/classcrashpad_1_1CrashpadClient-members.html +++ b/doc/generated/doxygen/classcrashpad_1_1CrashpadClient-members.html @@ -97,11 +97,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
CrashpadClient() (defined in crashpad::CrashpadClient) | crashpad::CrashpadClient | |
DumpWithoutCrash(const CONTEXT &context) | crashpad::CrashpadClient | static |
SetHandler(const std::string &ipc_port) | crashpad::CrashpadClient | |
StartHandler(const base::FilePath &handler, const base::FilePath &database, const std::string &url, const std::map< std::string, std::string > &annotations, const std::vector< std::string > &arguments) | crashpad::CrashpadClient | |
UseHandler() | crashpad::CrashpadClient | |
UseSystemDefaultHandler() | crashpad::CrashpadClient | static |
~CrashpadClient() (defined in crashpad::CrashpadClient) | crashpad::CrashpadClient | |
GetHandlerIPCPipe() const | crashpad::CrashpadClient | |
SetHandlerIPCPipe(const std::wstring &ipc_pipe) | crashpad::CrashpadClient | |
StartHandler(const base::FilePath &handler, const base::FilePath &database, const std::string &url, const std::map< std::string, std::string > &annotations, const std::vector< std::string > &arguments) | crashpad::CrashpadClient | |
UseHandler() | crashpad::CrashpadClient | |
UseSystemDefaultHandler() | crashpad::CrashpadClient | static |
~CrashpadClient() (defined in crashpad::CrashpadClient) | crashpad::CrashpadClient |
bool crashpad::CrashpadClient::SetHandler | +std::wstring crashpad::CrashpadClient::GetHandlerIPCPipe | ( | -const std::string & | -ipc_port | ) | +) | +const | +
Retrieves the IPC pipe name used to register with the Crashpad handler.
+This method retrieves the IPC pipe name set by SetHandlerIPCPipe(), or a suitable IPC pipe name chosen by StartHandler(). It is intended to be used to obtain the IPC pipe name so that it may be passed to other processes, so that they may register with an existing Crashpad handler by calling SetHandlerIPCPipe().
+This method is only defined on Windows.
+"\\.\pipe\NAME"
. bool crashpad::CrashpadClient::SetHandlerIPCPipe | +( | +const std::wstring & | +ipc_pipe | ) |
Sets the IPC port of a presumably-running Crashpad handler process which was started with StartHandler() or by other compatible means and does an IPC message exchange to register this process with the handler. However, just like StartHandler(), crashes are not serviced until UseHandler() is called.
-The IPC port name (somehow) encodes enough information so that registration is done with a crash handler using the appropriate database and upload server.
+Sets the IPC pipe of a presumably-running Crashpad handler process which was started with StartHandler() or by other compatible means and does an IPC message exchange to register this process with the handler. However, just like StartHandler(), crashes are not serviced until UseHandler() is called.
[in] | ipc_port | The full name of the crash handler IPC port. |
[in] | ipc_pipe | The full name of the crash handler IPC pipe. This is a string of the form "\\.\pipe\NAME" . |
Starts a Crashpad handler process, performing any necessary handshake to configure it.
This method does not actually direct any crashes to the Crashpad handler, because there may be alternative ways to use an existing Crashpad handler without having to start one. To begin directing crashes to the handler, started by this method, call UseHandler() after this method returns successfully.
On Mac OS X, this method starts a Crashpad handler and obtains a Mach send right corresponding to a receive right held by the handler process. The handler process runs an exception server on this port.
-On Windows, SetHandler() is normally used instead since the handler is started by other means.
[in] | handler | The path to a Crashpad handler executable. |
ExceptionHandlerServer(base::mac::ScopedMachReceiveRight receive_port) | crashpad::ExceptionHandlerServer | explicit | |||||||||||||
ExceptionHandlerServer(const std::string &pipe_name) | crashpad::ExceptionHandlerServer | explicit | |||||||||||||
ExceptionHandlerServer(const std::string &pipe_name, bool persistent) | crashpad::ExceptionHandlerServer | ||||||||||||||
Run(UniversalMachExcServer::Interface *exception_interface) | crashpad::ExceptionHandlerServer | ||||||||||||||
Run(Delegate *delegate) | crashpad::ExceptionHandlerServer | ||||||||||||||
Stop() | crashpad::ExceptionHandlerServer | ||||||||||||||
void | Run (UniversalMachExcServer::Interface *exception_interface) | ||||||||||||||
Runs the exception-handling server. More... | |||||||||||||||
ExceptionHandlerServer (const std::string &pipe_name) | |||||||||||||||
Constructs the exception handling server. More... | |||||||||||||||
ExceptionHandlerServer (const std::string &pipe_name, bool persistent) | |||||||||||||||
Constructs the exception handling server. More... | |||||||||||||||
void | Run (Delegate *delegate) | ||||||||||||||
Runs the exception-handling server. More... | |||||||||||||||
+
-
Constructs the exception handling server.
ClientToServerMessage (crashpad) | HTTPTransport (crashpad) | MinidumpCrashpadInfoWriter (crashpad) | PEImageReader (crashpad) | TestUInt32MinidumpWritable (crashpad::test) | CodeViewRecordPDB20 (crashpad) |
MinidumpExceptionWriter (crashpad) | PipeServiceContext (crashpad::internal) | Thread (crashpad) | CodeViewRecordPDB70 (crashpad) | MinidumpFileWriter (crashpad) | PointerContainer (crashpad) | ProcessReaderWin::Thread (crashpad) | CompositeHTTPBodyStream (crashpad) | IMAGE_DEBUG_MISC | MinidumpHandleDataWriter (crashpad) | PROCESS_BASIC_INFORMATION (crashpad::process_types) | ProcessReader::Thread (crashpad) | CodeViewRecordPDB70 (crashpad) | MinidumpFileWriter (crashpad) | PointerContainer (crashpad) | ProcessReader::Thread (crashpad) | CompositeHTTPBodyStream (crashpad) | IMAGE_DEBUG_MISC | MinidumpHandleDataWriter (crashpad) | PROCESS_BASIC_INFORMATION (crashpad::process_types) | ProcessReaderWin::Thread (crashpad) | CompositeMachMessageServer (crashpad) | InitializationState (crashpad) | MinidumpMemoryInfoListWriter (crashpad) | ProcessInfo (crashpad) | THREAD_BASIC_INFORMATION (crashpad::process_types) | CPU_INFORMATION | InitializationStateDcheck (crashpad) | MinidumpMemoryListWriter (crashpad) | PROCESSOR_POWER_INFORMATION | ThreadLogMessages (crashpad) | CPUContext (crashpad) | UUID::InitializeWithNewTag (crashpad) | MinidumpMemoryWriter (crashpad) | ProcessReader (crashpad) | ThreadSnapshot (crashpad) | |
file | checked_win_address_range.h | ||||||||||||||
file | command_line.cc | ||||||||||||||
file | command_line.h | ||||||||||||||
file | command_line_test.cc | ||||||||||||||
file | critical_section_with_debug_info.cc | ||||||||||||||
file | critical_section_with_debug_info.h | ||||||||||||||
file | crashy_test_program.cc | ||||||||||||||
file | crashy_test_z7_loader.cc | ||||||||||||||
file | self_destroying_test_program.cc | ||||||||||||||
▼ client | |
simulate_crash_mac.h | |
▼ compat | |
▼ non_mac | |
▼ mach | |
mach.h | |
▼ non_win | |
dbghelp.h | |
verrsrc.h | |
▼ test | |
gtest_death_check.h | |
▼ util | |
▼ file | |
file_io.h | |
▼ misc | |
initialization_state_dcheck.h | |
symbolic_constants_common.h | |
▼ win | |
get_function.h | |
simulate_crash_win.h | |
▼ compat | |
▼ non_mac | |
▼ mach | |
mach.h | |
▼ non_win | |
dbghelp.h | |
verrsrc.h | |
▼ test | |
gtest_death_check.h | |
▼ util | |
▼ file | |
file_io.h | |
▼ misc | |
initialization_state_dcheck.h | |
symbolic_constants_common.h | |
▼ win | |
get_function.h |
InitializeCritialSection()
, but attempts to allocate with a valid .DebugInfo
field on versions of Windows where it's possible to do so. More...void crashpad::AppendCommandLineArgument | +( | +const std::wstring & | +argument, | +
+ | + | std::wstring * | +command_line | +
+ | ) | ++ |
Utility function for building escaped command lines.
+This builds a command line so that individual arguments can be reliably decoded by CommandLineToArgvW()
.
argument is appended to command_line. If necessary, it will be placed in quotation marks and escaped properly. If command_line is initially non-empty, a space will precede argument.
+[in] | argument | The argument to append to command_line. |
[in,out] | command_line | The command line being constructed. |
Connect over the given pipe_name, passing message to the server, storing the server's reply into response.
-Typically clients will not use this directly, instead using CrashpadClient::SetHandler().
-Typically clients will not use this directly, instead using CrashpadClient::SetHandler().
+The testing namespace, for use in test code only.
void crashpad::test::AppendCommandLineArgument | -( | -const std::wstring & | -argument, | -
- | - | std::wstring * | -command_line | -
- | ) | -- |
Utility function for building escaped command lines.
-[in] | argument | Appended to command_line surrounded by properly escaped quotation marks, if necessary. |
[in,out] | command_line | The command line being constructed. |
+ Crashpad
+
+ |
+
#include <windows.h>
#include "client/crashpad_client.h"
#include "util/win/capture_context.h"
+Macros | |
#define | CRASHPAD_SIMULATE_CRASH() |
Captures the CPU context and captures a dump without an exception. More... | |
#define CRASHPAD_SIMULATE_CRASH | +( | +) | ++ |
Captures the CPU context and captures a dump without an exception.
+ +The specific format of the CodeView record is indicated by its signature, the first 32-bit value in the structure. For links to debugging information in contemporary usage, this is normally a crashpad::CodeViewRecordPDB70 structure, but may be a crashpad::CodeViewRecordPDB20 structure instead. These structures identify a link to debugging data within a .pdb
(Program Database) file. See Matching Debug Information, PDB Files.
On Windows, it is also possible for the CodeView record to contain debugging information itself, as opposed to a link to a .pdb
file. See Microsoft Symbol and Type Information, section 7.2, “Debug Information Format” for a list of debug information formats, and Undocumented Windows 2000 Secrets, Windows 2000 Debugging Support/Microsoft Symbol File Internals/CodeView Subsections for an in-depth description of the CodeView 4.1 format. Signatures seen in the wild include “NB09” (0x3930424e) for CodeView 4.1 and “NB11” (0x3131424e) for CodeView 5.0. This form of debugging information within the module, as opposed to a link to an external .pdb
file, is chosen by building with /Z7
.
On Windows, it is also possible for the CodeView record to contain debugging information itself, as opposed to a link to a .pdb
file. See Microsoft Symbol and Type Information, section 7.2, “Debug Information Format” for a list of debug information formats, and Undocumented Windows 2000 Secrets, Windows 2000 Debugging Support/Microsoft Symbol File Internals/CodeView Subsections for an in-depth description of the CodeView 4.1 format. Signatures seen in the wild include “NB09” (0x3930424e) for CodeView 4.1 and “NB11” (0x3131424e) for CodeView 5.0. This form of debugging information within the module, as opposed to a link to an external .pdb
file, is chosen by building with /Z7
in Visual Studio 6.0 (1998) and earlier. This embedded form of debugging information is now considered obsolete.
On Windows, the CodeView record is taken from a module’s IMAGE_DEBUG_DIRECTORY entry whose Type field has the value IMAGE_DEBUG_TYPE_CODEVIEW (2
), if any. Records in crashpad::CodeViewRecordPDB70 format are generated by Visual Studio .NET (2002) (version 7.0) and later.
When the CodeView record is not present, the fields of this MINIDUMP_LOCATION_DESCRIPTOR will be 0
.
This server is normally started by its initial client, and it performs a -handshake with this client via a pipe established by the client that is +
On OS X, this server is normally started by its initial client, and it performs +a handshake with this client via a pipe established by the client that is inherited by the server, referenced by the --handshake-fd argument. During the handshake, the server furnishes the client with a send right that the client may use as an exception port. The server retains the corresponding receive right, which it monitors for exception messages. When the receive right loses all senders, the server exits after allowing any upload in progress to complete.
On Windows, clients register with this server by communicating with it via the +named pipe identified by the --pipe-name argument. During registration, a +client provides the server with an OS event object that it will signal should it +crash. The server obtains the client’s process handle and waits on the crash +event object for a crash, as well as the client’s process handle for the client +to exit cleanly without crashing. When the server loses all clients and +--persistent is not specified, it exits after allowing any upload in progress +to complete.
It is not normally appropriate to invoke this program directly. Usually, it will be invoked by a Crashpad client using the Crashpad client library. Arbitrary programs may be run with a Crashpad handler by using @@ -841,6 +849,17 @@ This option is required. This option is only valid on Mac OS X.
+Continue running after the last client exits. If this option is not specified, +this server will exit as soon as it has no clients, although on startup, it +always waits for at least one client to connect. This option is only valid on +Windows. +
+