diff options
author | Tobias Sargeant <tobiasjs@google.com> | 2017-02-02 17:11:13 +0000 |
---|---|---|
committer | Tobias Sargeant <tobiasjs@chromium.org> | 2017-02-03 10:01:12 +0000 |
commit | 049a1532e57b2631b6f228f078759323a13674d0 (patch) | |
tree | e21c2e1b9fd141ffa53dd74c47af6d49b472829f /src/client/linux/minidump_writer/minidump_writer.h | |
parent | Revert "Several fixes for broken Mac build" (diff) | |
download | breakpad-049a1532e57b2631b6f228f078759323a13674d0.tar.xz |
Wire up stack sanitization and skipping to WriteMinidump
This makes the parameters stored in the MinidumpDescriptor structure
functional for minidumps, analogously to how they are applied to
microdumps.
BUG=664460
Change-Id: I7578e7a1638cea8f0445b18d4bbdaf5e0a32d808
Reviewed-on: https://chromium-review.googlesource.com/435380
Reviewed-by: Robert Sesek <rsesek@chromium.org>
Diffstat (limited to 'src/client/linux/minidump_writer/minidump_writer.h')
-rw-r--r-- | src/client/linux/minidump_writer/minidump_writer.h | 30 |
1 files changed, 24 insertions, 6 deletions
diff --git a/src/client/linux/minidump_writer/minidump_writer.h b/src/client/linux/minidump_writer/minidump_writer.h index d13fb120..d1dc3312 100644 --- a/src/client/linux/minidump_writer/minidump_writer.h +++ b/src/client/linux/minidump_writer/minidump_writer.h @@ -78,10 +78,16 @@ typedef std::list<AppMemory> AppMemoryList; // // Returns true iff successful. bool WriteMinidump(const char* minidump_path, pid_t crashing_process, - const void* blob, size_t blob_size); + const void* blob, size_t blob_size, + bool skip_stacks_if_mapping_unreferenced = false, + uintptr_t principal_mapping_address = 0, + bool sanitize_stacks = false); // Same as above but takes an open file descriptor instead of a path. bool WriteMinidump(int minidump_fd, pid_t crashing_process, - const void* blob, size_t blob_size); + const void* blob, size_t blob_size, + bool skip_stacks_if_mapping_unreferenced = false, + uintptr_t principal_mapping_address = 0, + bool sanitize_stacks = false); // Alternate form of WriteMinidump() that works with processes that // are not expected to have crashed. If |process_blamed_thread| is @@ -96,23 +102,35 @@ bool WriteMinidump(const char* minidump_path, pid_t process, bool WriteMinidump(const char* minidump_path, pid_t crashing_process, const void* blob, size_t blob_size, const MappingList& mappings, - const AppMemoryList& appdata); + const AppMemoryList& appdata, + bool skip_stacks_if_mapping_unreferenced = false, + uintptr_t principal_mapping_address = 0, + bool sanitize_stacks = false); bool WriteMinidump(int minidump_fd, pid_t crashing_process, const void* blob, size_t blob_size, const MappingList& mappings, - const AppMemoryList& appdata); + const AppMemoryList& appdata, + bool skip_stacks_if_mapping_unreferenced = false, + uintptr_t principal_mapping_address = 0, + bool sanitize_stacks = false); // These overloads also allow passing a file size limit for the minidump. bool WriteMinidump(const char* minidump_path, off_t minidump_size_limit, pid_t crashing_process, const void* blob, size_t blob_size, const MappingList& mappings, - const AppMemoryList& appdata); + const AppMemoryList& appdata, + bool skip_stacks_if_mapping_unreferenced = false, + uintptr_t principal_mapping_address = 0, + bool sanitize_stacks = false); bool WriteMinidump(int minidump_fd, off_t minidump_size_limit, pid_t crashing_process, const void* blob, size_t blob_size, const MappingList& mappings, - const AppMemoryList& appdata); + const AppMemoryList& appdata, + bool skip_stacks_if_mapping_unreferenced = false, + uintptr_t principal_mapping_address = 0, + bool sanitize_stacks = false); bool WriteMinidump(const char* filename, const MappingList& mappings, |