diff options
author | nealsid <nealsid@4c0a9323-5329-0410-9bdc-e9ce6186880e> | 2009-07-21 00:10:57 +0000 |
---|---|---|
committer | nealsid <nealsid@4c0a9323-5329-0410-9bdc-e9ce6186880e> | 2009-07-21 00:10:57 +0000 |
commit | 22734848ea2124d2e8c75a472f71ae20a69fb116 (patch) | |
tree | 5afa6c3c84b50c60ae8438da402edd940c3bb949 /src/client/mac/Framework | |
parent | Fix for http://breakpad.appspot.com/18009 - run dump_syms on both PPC & i386 ... (diff) | |
download | breakpad-22734848ea2124d2e8c75a472f71ae20a69fb116.tar.xz |
Port fixes from internal Google Breakpad to SVN.
A=preston, nealsid
R=Stuart, Preston
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@360 4c0a9323-5329-0410-9bdc-e9ce6186880e
Diffstat (limited to 'src/client/mac/Framework')
-rw-r--r-- | src/client/mac/Framework/Breakpad.h | 11 | ||||
-rw-r--r-- | src/client/mac/Framework/Breakpad.mm | 14 |
2 files changed, 14 insertions, 11 deletions
diff --git a/src/client/mac/Framework/Breakpad.h b/src/client/mac/Framework/Breakpad.h index ab4d6220..6b5ce66a 100644 --- a/src/client/mac/Framework/Breakpad.h +++ b/src/client/mac/Framework/Breakpad.h @@ -89,6 +89,7 @@ extern "C" { #define BREAKPAD_PROCESS_CRASH_TIME "BreakpadProcessCrashTime" #define BREAKPAD_LOGFILE_KEY_PREFIX "BreakpadAppLogFile" #define BREAKPAD_SERVER_PARAMETER_PREFIX "BreakpadServerParameterPrefix_" +#define BREAKPAD_ON_DEMAND "BreakpadOnDemand" // Optional user-defined function to dec to decide if we should handle // this crash or forward it along. @@ -215,7 +216,7 @@ typedef bool (*BreakpadFilterCallback)(int exception_type, //============================================================================= // The following are NOT user-supplied but are documented here for // completeness. They are calculated by Breakpad during initialization & -// crash-dump generation. +// crash-dump generation, or entered in by the user. // // BREAKPAD_PROCESS_START_TIME The time the process started. // @@ -242,6 +243,12 @@ typedef bool (*BreakpadFilterCallback)(int exception_type, // server without leaking Breakpad's // internal values. // +// BREAKPAD_ON_DEMAND Used internally to indicate to the +// Reporter that we're sending on-demand, +// not as result of a crash. +// +// BREAKPAD_COMMENTS The text the user provided as comments. +// Only used in crash_report_sender. // Returns a new BreakpadRef object on success, NULL otherwise. BreakpadRef BreakpadCreate(NSDictionary *parameters); @@ -286,7 +293,7 @@ void BreakpadRemoveKeyValue(BreakpadRef ref, NSString *key); // necessary. Note that as mentioned above there are limits on both // the number of keys and their length. void BreakpadAddUploadParameter(BreakpadRef ref, NSString *key, - NSString *value); + NSString *value); // This method will remove a previously-added parameter from the // upload parameter set. diff --git a/src/client/mac/Framework/Breakpad.mm b/src/client/mac/Framework/Breakpad.mm index 551f9785..2528d99f 100644 --- a/src/client/mac/Framework/Breakpad.mm +++ b/src/client/mac/Framework/Breakpad.mm @@ -409,7 +409,6 @@ bool Breakpad::ExtractParameters(NSDictionary *parameters) { NSString *timeout = [parameters objectForKey:@BREAKPAD_CONFIRM_TIMEOUT]; NSArray *logFilePaths = [parameters objectForKey:@BREAKPAD_LOGFILES]; NSString *logFileTailSize = [parameters objectForKey:@BREAKPAD_LOGFILE_UPLOAD_SIZE]; - NSString *reportEmail = [parameters objectForKey:@BREAKPAD_EMAIL]; NSString *requestUserText = [parameters objectForKey:@BREAKPAD_REQUEST_COMMENTS]; NSString *requestEmail = [parameters objectForKey:@BREAKPAD_REQUEST_EMAIL]; @@ -451,7 +450,7 @@ bool Breakpad::ExtractParameters(NSDictionary *parameters) { vendor = @"Vendor not specified"; } - // Normalize the values + // Normalize the values. if (skipConfirm) { skipConfirm = [skipConfirm uppercaseString]; @@ -504,7 +503,7 @@ bool Breakpad::ExtractParameters(NSDictionary *parameters) { [resourcePath stringByAppendingPathComponent:@"Inspector"]; } - // Verify that there is an Inspector tool + // Verify that there is an Inspector tool. if (![[NSFileManager defaultManager] fileExistsAtPath:inspectorPathString]) { DEBUGLOG(stderr, "Cannot find Inspector tool\n"); return false; @@ -517,7 +516,7 @@ bool Breakpad::ExtractParameters(NSDictionary *parameters) { reporterPathString = [[NSBundle bundleWithPath:reporterPathString] executablePath]; } - // Verify that there is a Reporter application + // Verify that there is a Reporter application. if (![[NSFileManager defaultManager] fileExistsAtPath:reporterPathString]) { DEBUGLOG(stderr, "Cannot find Reporter tool\n"); @@ -588,11 +587,6 @@ bool Breakpad::ExtractParameters(NSDictionary *parameters) { } } - if (reportEmail) { - dictionary.SetKeyValue(BREAKPAD_EMAIL, - [reportEmail UTF8String]); - } - if (serverParameters) { // For each key-value pair, call BreakpadAddUploadParameter() NSEnumerator *keyEnumerator = [serverParameters keyEnumerator]; @@ -633,7 +627,9 @@ void Breakpad::RemoveKeyValue(NSString *key) { //============================================================================= void Breakpad::GenerateAndSendReport() { + config_params_->SetKeyValue(BREAKPAD_ON_DEMAND, "YES"); HandleException(0, 0, 0, mach_thread_self()); + config_params_->SetKeyValue(BREAKPAD_ON_DEMAND, "NO"); } //============================================================================= |