mirror of
https://github.com/yuzu-emu/breakpad
synced 2024-11-26 11:28:29 +00:00
Fix orphaned crash reports.
The path NSCachesDirectory may change across app updates and sometimes even across app launches. As a result, the Config-XXX files may end up with an outdated path to the associated minidump file. Change-Id: I0befde26b2ac406c154ce7c7e9be0063ee99892d Bug:850379 Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1592561 Reviewed-by: Mark Mentovai <mark@chromium.org>
This commit is contained in:
parent
b2831dbed1
commit
d930308bbb
1 changed files with 13 additions and 1 deletions
|
@ -161,6 +161,7 @@ class Breakpad {
|
||||||
NSArray *CrashReportsToUpload();
|
NSArray *CrashReportsToUpload();
|
||||||
NSString *NextCrashReportToUpload();
|
NSString *NextCrashReportToUpload();
|
||||||
NSDictionary *NextCrashReportConfiguration();
|
NSDictionary *NextCrashReportConfiguration();
|
||||||
|
NSDictionary *FixedUpCrashReportConfiguration(NSDictionary *configuration);
|
||||||
NSDate *DateOfMostRecentCrashReport();
|
NSDate *DateOfMostRecentCrashReport();
|
||||||
void UploadNextReport(NSDictionary *server_parameters);
|
void UploadNextReport(NSDictionary *server_parameters);
|
||||||
void UploadReportWithConfiguration(NSDictionary *configuration,
|
void UploadReportWithConfiguration(NSDictionary *configuration,
|
||||||
|
@ -466,7 +467,18 @@ NSString *Breakpad::NextCrashReportToUpload() {
|
||||||
|
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
NSDictionary *Breakpad::NextCrashReportConfiguration() {
|
NSDictionary *Breakpad::NextCrashReportConfiguration() {
|
||||||
return [Uploader readConfigurationDataFromFile:NextCrashReportToUpload()];
|
NSDictionary *configuration = [Uploader readConfigurationDataFromFile:NextCrashReportToUpload()];
|
||||||
|
return FixedUpCrashReportConfiguration(configuration);
|
||||||
|
}
|
||||||
|
|
||||||
|
//=============================================================================
|
||||||
|
NSDictionary *Breakpad::FixedUpCrashReportConfiguration(NSDictionary *configuration) {
|
||||||
|
NSMutableDictionary *fixedConfiguration = [[configuration mutableCopy] autorelease];
|
||||||
|
// kReporterMinidumpDirectoryKey can become stale because the app's data container path includes
|
||||||
|
// an UUID that is not guaranteed to stay the same over time.
|
||||||
|
[fixedConfiguration setObject:KeyValue(@BREAKPAD_DUMP_DIRECTORY)
|
||||||
|
forKey:@kReporterMinidumpDirectoryKey];
|
||||||
|
return fixedConfiguration;
|
||||||
}
|
}
|
||||||
|
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
|
|
Loading…
Reference in a new issue