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

Unified Diff: components/crash/content/app/breakpad_linux.h

Issue 2694083004: Fix minidump-generation for debug builds. (Closed)
Patch Set: Only declare + use SanitizationInfo on Android. Created 3 years, 10 months 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 side-by-side diff with in-line comments
Download patch
Index: components/crash/content/app/breakpad_linux.h
diff --git a/components/crash/content/app/breakpad_linux.h b/components/crash/content/app/breakpad_linux.h
index 2cd1795831af5b2be7556be40513fb9ed2fe946a..74f45448911f980397f66d1fbfe4771af6ef46c2 100644
--- a/components/crash/content/app/breakpad_linux.h
+++ b/components/crash/content/app/breakpad_linux.h
@@ -13,21 +13,42 @@
namespace breakpad {
+#if defined(OS_ANDROID)
+struct SanitizationInfo {
+ bool should_sanitize_dumps;
+ bool skip_dump_if_principal_mapping_not_referenced;
+ uintptr_t address_within_principal_mapping;
+
+ SanitizationInfo()
+ : should_sanitize_dumps(false),
+ skip_dump_if_principal_mapping_not_referenced(false),
+ address_within_principal_mapping(0) {}
+};
+
// Turns on the crash reporter in any process.
extern void InitCrashReporter(const std::string& process_type);
+extern void InitCrashReporter(const std::string& process_type,
+ const SanitizationInfo& sanitizationInfo);
Robert Sesek 2017/02/15 17:38:43 naming: sanitizationInfo (use under_scores, and th
gsennton 2017/02/15 18:10:17 Done.
+#else
+extern void InitCrashReporter(const std::string& process_type);
+#endif // defined(OS_ANDROID)
#if defined(OS_ANDROID)
-
const char kWebViewSingleProcessType[] = "webview";
const char kBrowserProcessType[] = "browser";
// Enables the crash reporter in child processes.
extern void InitNonBrowserCrashReporterForAndroid(
const std::string& process_type);
+// Enables the crash reporter in child processes.
+extern void InitNonBrowserCrashReporterForAndroid(
+ const std::string& process_type,
+ const SanitizationInfo& sanitizationInfo);
// Enables *micro*dump only. Can be called from any process.
extern void InitMicrodumpCrashHandlerIfNecessary(
- const std::string& process_type);
+ const std::string& process_type,
+ const SanitizationInfo& sanitizationInfo);
extern void AddGpuFingerprintToMicrodumpCrashHandler(
const std::string& gpu_fingerprint);
@@ -36,22 +57,6 @@ extern void AddGpuFingerprintToMicrodumpCrashHandler(
// generate dumps. Calling base::debug::DumpWithoutCrashing will still
// generate a dump.
extern void SuppressDumpGeneration();
-
-// Calling SetShouldSanitizeDumps determines whether or not subsequent
-// crash dumps should be sanitized. Sanitized dumps still contain
-// enough stack information to unwind crashes, but other stack data is
-// erased.
-extern void SetShouldSanitizeDumps(bool sanitize_dumps);
-
-// Inform breakpad of an address within the text section that is
-// considered interesting for the purpose of crashes so that this can
-// be used to elide microdumps that do not reference interesting
-// code. Minidumps will still be generated, but stacks from threads
-// that do not reference the principal mapping will not be included.
-// The full interesting address range is determined by looking up the
-// memory mapping that contains |addr|.
-extern void SetSkipDumpIfPrincipalMappingNotReferenced(
- uintptr_t address_within_principal_mapping);
#endif
// Checks if crash reporting is enabled. Note that this is not the same as

Powered by Google App Engine
This is Rietveld 408576698