diff options
author | doshimun <doshimun@4c0a9323-5329-0410-9bdc-e9ce6186880e> | 2008-05-05 20:03:56 +0000 |
---|---|---|
committer | doshimun <doshimun@4c0a9323-5329-0410-9bdc-e9ce6186880e> | 2008-05-05 20:03:56 +0000 |
commit | 0ded3d718f4b090d106014bb0ea9dbb7af4e1d81 (patch) | |
tree | c17841e1e075b5d449ed8b63b2a339d6856d20b7 /src/client/windows/crash_generation/client_info.h | |
parent | Issue 261/262: 64-bit bug fix when iterating through load commands of a 64-bi... (diff) | |
download | breakpad-0ded3d718f4b090d106014bb0ea9dbb7af4e1d81.tar.xz |
Add a way for the client apps to specify custom information in case of out-of-process
scenarios that the OOP server can use in whatever way it wants to.
Fix a bug in CrashGenerationserver where CreateNamedPipe failure was not checked correctly.
TODO in near future: Add a custom stream to minidump files for the custom information.
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@267 4c0a9323-5329-0410-9bdc-e9ce6186880e
Diffstat (limited to 'src/client/windows/crash_generation/client_info.h')
-rw-r--r-- | src/client/windows/crash_generation/client_info.h | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/src/client/windows/crash_generation/client_info.h b/src/client/windows/crash_generation/client_info.h index 9956c47a..db3f05e9 100644 --- a/src/client/windows/crash_generation/client_info.h +++ b/src/client/windows/crash_generation/client_info.h @@ -32,7 +32,9 @@ #include <Windows.h> #include <DbgHelp.h> +#include "client/windows/common/ipc_protocol.h" #include "google_breakpad/common/minidump_format.h" +#include "processor/scoped_ptr.h" namespace google_breakpad { @@ -49,7 +51,8 @@ class ClientInfo { MINIDUMP_TYPE dump_type, DWORD* thread_id, EXCEPTION_POINTERS** ex_info, - MDRawAssertionInfo* assert_info); + MDRawAssertionInfo* assert_info, + const CustomClientInfo& custom_client_info); ~ClientInfo(); @@ -85,6 +88,10 @@ class ClientInfo { bool Initialize(); bool GetClientExceptionInfo(EXCEPTION_POINTERS** ex_info) const; bool GetClientThreadId(DWORD* thread_id) const; + // Reads the custom information from the client process address space. + bool PopulateCustomInfo(); + // Returns the client custom information. + int GetCustomInfo(CustomInfoEntry const** custom_info) const; private: // Crash generation server. @@ -113,6 +120,14 @@ class ClientInfo { // in the address space of another process. MDRawAssertionInfo* assert_info_; + // Custom information about the client. + CustomClientInfo custom_client_info_; + + // Contains the custom client info entries read from the client process + // memory. This will be populated only if the method GetClientCustomInfo + // is called. + scoped_array<CustomInfoEntry> custom_info_entries_; + // Address of a variable in the client process address space that // will contain the thread id of the crashing client thread. // |