Do not generate a microdump if there are no webview pointers on the stack.

The stack interest range is passed in MicrodumpExtraInfo from the client.
If the extracted stack does not contain a pointer in this range, then we
assume that this is not a WebView crash, and do not generate a microdump.
If the stack extraction fails, we still generate a microdump (without a
stack).

BUG=664460

Change-Id: Ic762497f76f074a3621c7ec88a8c20ed768b9211
Reviewed-on: https://chromium-review.googlesource.com/412781
Reviewed-by: Primiano Tucci <primiano@chromium.org>
This commit is contained in:
Tobias Sargeant 2016-11-30 16:47:04 +00:00 committed by Tobias Sargeant
parent e6ef06f13d
commit 7a8980997d
3 changed files with 208 additions and 108 deletions

View file

@ -40,11 +40,23 @@ struct MicrodumpExtraInfo {
const char* gpu_fingerprint;
const char* process_type;
// |interest_range_start| and |interest_range_end| specify a range
// in the target process address space. Microdumps are only
// generated if the PC or a word on the captured stack point into
// this range, or |suppress_microdump_based_on_interest_range| is
// false.
bool suppress_microdump_based_on_interest_range;
uintptr_t interest_range_start;
uintptr_t interest_range_end;
MicrodumpExtraInfo()
: build_fingerprint(NULL),
product_info(NULL),
gpu_fingerprint(NULL),
process_type(NULL) {}
process_type(NULL),
suppress_microdump_based_on_interest_range(false),
interest_range_start(0),
interest_range_end(0) {}
};
}