breakpad/src/processor
Tobias Sargeant 3d6076efc2 Add -s flag to microdump_stackwalk for dumping stack contents.
Note that the current MicrodumpProcessor::Process implementation has a
bug due to the fact that it creates a local Microdump instance, and then
holds onto a pointer to the object returned by microdump.GetMemory()
which is destroyed when microdump goes out of scope. This CL fixes the
crash by making Microdump outlive MicrodumpProcessor, which is the same
pattern that Minidump/MinidumpProcessor uses.

Bug: google-breakpad:748
Change-Id: I554b46d309649cf404523722bd9ee39e17a10139
Reviewed-on: https://chromium-review.googlesource.com/720809
Reviewed-by: Primiano Tucci <primiano@chromium.org>
Reviewed-by: Ivan Penkov <ivanpe@chromium.org>
2017-10-17 10:22:46 +00:00
..
proto Update links 2016-11-18 17:24:37 +00:00
testdata Add crash reason extraction to microdump processor 2017-08-21 10:19:07 +00:00
address_map-inl.h Breakpad: Avoid using the C++ <cfoo> headers. 2010-06-25 16:57:07 +00:00
address_map.h FastSourceLineResolver implementation for optimization purpose. 2010-10-21 17:13:01 +00:00
address_map_unittest.cc Breakpad: Avoid using the C++ <cfoo> headers. 2010-06-25 16:57:07 +00:00
basic_code_module.h Populate stack frames with unloaded module info. 2017-01-19 19:33:56 +00:00
basic_code_modules.cc Server-side workaround to handle overlapping modules. 2016-06-20 11:14:47 -07:00
basic_code_modules.h Server-side workaround to handle overlapping modules. 2016-06-20 11:14:47 -07:00
basic_source_line_resolver.cc Fix a trivial parsing bug caught by static analysis 2016-06-10 09:51:14 -04:00
basic_source_line_resolver_types.h Detect corrupt symbol files during minidump processing. Recover from the errors and use the good data if possible. 2013-07-11 01:36:06 +00:00
basic_source_line_resolver_unittest.cc Populate stack frames with unloaded module info. 2017-01-19 19:33:56 +00:00
call_stack.cc Add the TID to the CallStack. 2016-04-01 10:11:10 -04:00
cfi_frame_info-inl.h Fix a sizeof(pointer) vs sizeof(pointee) issue caught by client. 2011-07-21 21:38:01 +00:00
cfi_frame_info.cc Don't use strtok_s for mingw builds 2015-08-20 15:09:16 +00:00
cfi_frame_info.h Update symbol file documentation links. 2016-06-10 06:29:06 -04:00
cfi_frame_info_unittest.cc Refactoring in preparation for microdump processing 2014-09-08 19:10:42 +00:00
contained_range_map-inl.h Breakpad: Avoid using the C++ <cfoo> headers. 2010-06-25 16:57:07 +00:00
contained_range_map.h FastSourceLineResolver implementation for optimization purpose. 2010-10-21 17:13:01 +00:00
contained_range_map_unittest.cc Breakpad: Avoid using the C++ <cfoo> headers. 2010-06-25 16:57:07 +00:00
disassembler_x86.cc disassembler_x86: Remove unused include 2016-01-08 10:07:04 -05:00
disassembler_x86.h Use stdint types everywhere 2013-03-06 14:04:42 +00:00
disassembler_x86_unittest.cc Cleanup: Remove duplicate wording in license headers. 2013-04-23 23:18:39 +00:00
dump_context.cc dump_context: arm: name the registers in the dump output 2017-03-18 03:04:26 +00:00
dump_object.cc Refactoring in preparation for microdump processing 2014-09-08 19:10:42 +00:00
exploitability.cc Add check for Linux minidump ending on bad write for exploitability rating. 2015-08-21 16:22:19 +00:00
exploitability_linux.cc Fix a win32 build error by moving a #include out of an #ifndef _WIN32 2016-09-20 12:12:56 -04:00
exploitability_linux.h Fixing a flaky Linux exploitability unittest. 2016-02-16 11:46:04 -08:00
exploitability_unittest.cc Updating ExploitabilityLinux to check memory mapping names against a prefix 2016-08-29 18:39:01 +00:00
exploitability_win.cc Use general instruction/stack pointer convenience method instead of manually 2015-06-30 23:22:09 +00:00
exploitability_win.h Added the base exploitability module for windows. This only adds the very basic exception type based analysis for now. 2010-09-22 02:37:19 +00:00
fast_source_line_resolver.cc Detect corrupt symbol files during minidump processing. Recover from the errors and use the good data if possible. 2013-07-11 01:36:06 +00:00
fast_source_line_resolver_types.h Detect corrupt symbol files during minidump processing. Recover from the errors and use the good data if possible. 2013-07-11 01:36:06 +00:00
fast_source_line_resolver_unittest.cc Populate stack frames with unloaded module info. 2017-01-19 19:33:56 +00:00
linked_ptr.h Fix processor to build with clang 2012-09-10 19:46:19 +00:00
logging.cc Rename stdio.h wrapper file to stdio_wrapper.h. 2016-04-05 15:45:30 -04:00
logging.h Add support for configuring the minimum log level at compile time 2013-11-05 19:43:48 +00:00
map_serializers-inl.h Use stdint types everywhere 2013-03-06 14:04:42 +00:00
map_serializers.h Make memory allocation/deallocation consistent: use new char[] instead of operator new() 2010-11-03 23:54:01 +00:00
map_serializers_unittest.cc map_serializers_unittest: fix unused variable warning 2013-10-30 17:16:38 +00:00
microdump.cc Add -s flag to microdump_stackwalk for dumping stack contents. 2017-10-17 10:22:46 +00:00
microdump_processor.cc Add -s flag to microdump_stackwalk for dumping stack contents. 2017-10-17 10:22:46 +00:00
microdump_processor_unittest.cc Add -s flag to microdump_stackwalk for dumping stack contents. 2017-10-17 10:22:46 +00:00
microdump_stackwalk.cc Add -s flag to microdump_stackwalk for dumping stack contents. 2017-10-17 10:22:46 +00:00
microdump_stackwalk_machine_readable_test microdump_stackwalk_test: fix bashism in test 2016-11-25 04:53:01 +00:00
microdump_stackwalk_test microdump_stackwalk_test: fix bashism in test 2016-11-25 04:53:01 +00:00
microdump_stackwalk_test_vars Microdumps: support aarch64 and lib mapping from APK 2014-12-02 15:31:25 +00:00
minidump.cc Fix minidump_dump_test after 6d0287851f 2017-10-05 15:18:12 +00:00
minidump_dump.cc Dump Crashpad extension structures in minidump_dump 2017-09-27 21:27:17 +00:00
minidump_dump_test Suppress handler thread from appearing in MinidumpProcessor's ProcessState 2006-11-06 23:00:19 +00:00
minidump_processor.cc Populate stack frames with unloaded module info. 2017-01-19 19:33:56 +00:00
minidump_processor_unittest.cc Fixed leak of unloaded module lists. 2017-02-07 22:41:43 +00:00
minidump_stackwalk.cc Convert {mini|micro}dump_stackwalk argument parsing to getopt. 2017-10-16 09:13:02 +00:00
minidump_stackwalk_machine_readable_test Add module list to machine-readable minidump_stackwalk output (#119). 2007-01-29 21:30:31 +00:00
minidump_stackwalk_test minidump_stackwalk should use MinidumpProcessor (#64). r=bryner 2006-10-27 00:40:56 +00:00
minidump_unittest.cc Added classes to support reading unloaded module lists in minidumps. 2016-12-16 20:15:04 +00:00
module_comparer.cc Detect corrupt symbol files during minidump processing. Recover from the errors and use the good data if possible. 2013-07-11 01:36:06 +00:00
module_comparer.h FastSourceLineResolver implementation for optimization purpose. 2010-10-21 17:13:01 +00:00
module_factory.h FastSourceLineResolver implementation for optimization purpose. 2010-10-21 17:13:01 +00:00
module_serializer.cc Detect corrupt symbol files during minidump processing. Recover from the errors and use the good data if possible. 2013-07-11 01:36:06 +00:00
module_serializer.h Use stdint types everywhere 2013-03-06 14:04:42 +00:00
pathname_stripper.cc Rename Airbag to Breakpad. 2007-02-14 19:51:05 +00:00
pathname_stripper.h This change allows compiling the google-breakpad code using a global ::string class instead of std::string. For more details take a look at common/using_std_string.h 2012-06-28 22:46:01 +00:00
pathname_stripper_unittest.cc Breakpad: Avoid using the C++ <cfoo> headers. 2010-06-25 16:57:07 +00:00
postfix_evaluator-inl.h Handle program strings with the assignment operator smashed against the next 2012-02-23 22:41:36 +00:00
postfix_evaluator.h This change allows compiling the google-breakpad code using a global ::string class instead of std::string. For more details take a look at common/using_std_string.h 2012-06-28 22:46:01 +00:00
postfix_evaluator_unittest.cc Refactoring in preparation for microdump processing 2014-09-08 19:10:42 +00:00
proc_maps_linux.cc This change allows compiling the google-breakpad code using a global ::string class instead of std::string. 2016-08-30 23:31:43 +00:00
proc_maps_linux_unittest.cc This change allows compiling the google-breakpad code using a global ::string class instead of std::string. 2016-08-30 23:31:43 +00:00
process_state.cc Fixed leak of unloaded module lists. 2017-02-07 22:41:43 +00:00
processor.gyp Fix googletest/googlemock build 2017-09-19 20:51:42 +00:00
processor_tools.gypi Add GYP build for the src/tools directory on Mac and Linux. 2014-07-24 15:22:51 +00:00
range_map-inl.h Fix MSVC build on 64-bit 2017-09-25 07:10:11 +00:00
range_map.h Server-side workaround to handle overlapping modules. 2016-06-20 11:14:47 -07:00
range_map_shrink_down_unittest.cc Adding support for overlapping ranges to RangeMap. 2016-06-05 22:41:10 -07:00
range_map_unittest.cc Adding support for overlapping ranges to RangeMap. 2016-06-05 22:41:10 -07:00
simple_serializer-inl.h Detect corrupt symbol files during minidump processing. Recover from the errors and use the good data if possible. 2013-07-11 01:36:06 +00:00
simple_serializer.h Use stdint types everywhere 2013-03-06 14:04:42 +00:00
simple_symbol_supplier.cc Detect corrupt symbol files during minidump processing. Recover from the errors and use the good data if possible. 2013-07-11 01:36:06 +00:00
simple_symbol_supplier.h Detect corrupt symbol files during minidump processing. Recover from the errors and use the good data if possible. 2013-07-11 01:36:06 +00:00
source_line_resolver_base.cc Detect corrupt symbol files during minidump processing. Recover from the errors and use the good data if possible. 2013-07-11 01:36:06 +00:00
source_line_resolver_base_types.h Detect corrupt symbol files during minidump processing. Recover from the errors and use the good data if possible. 2013-07-11 01:36:06 +00:00
stack_frame_cpu.cc Process minidumps generated on ARM64 in iOS apps. 2013-11-23 01:45:20 +00:00
stack_frame_symbolizer.cc Populate stack frames with unloaded module info. 2017-01-19 19:33:56 +00:00
stackwalk_common.cc This change allows compiling the google-breakpad code using a global ::string class instead of std::string. 2016-08-30 23:31:43 +00:00
stackwalk_common.h Revert "Added a switch to dump minidump modules in minidump_stackwalk." 2016-02-10 13:11:20 -08:00
stackwalker.cc Handle very large stack traces 2017-07-12 17:53:15 +00:00
stackwalker_address_list.cc Make StackWalkerAddressList use FRAME_TRUST_PREWALKED trust level. 2013-09-04 20:43:10 +00:00
stackwalker_address_list.h Create StackwalkerAddressList. 2013-08-23 14:38:36 +00:00
stackwalker_address_list_unittest.cc Make StackWalkerAddressList use FRAME_TRUST_PREWALKED trust level. 2013-09-04 20:43:10 +00:00
stackwalker_amd64.cc Handle very large stack traces 2017-07-12 17:53:15 +00:00
stackwalker_amd64.h Handle very large stack traces 2017-07-12 17:53:15 +00:00
stackwalker_amd64_unittest.cc Sanity check frame pointer while stackwalking 2017-03-22 23:23:25 +00:00
stackwalker_arm.cc Handle very large stack traces 2017-07-12 17:53:15 +00:00
stackwalker_arm.h Allow setting a limit on the number of frames to be recovered by stack scanning. 2013-08-19 18:31:51 +00:00
stackwalker_arm64.cc Handle very large stack traces 2017-07-12 17:53:15 +00:00
stackwalker_arm64.h Add support for CFI based stack walking on Arm64. 2014-05-06 09:18:30 +00:00
stackwalker_arm64_unittest.cc Increasing the Breakpad stack walker max scan limit from 30 to 40. 2015-10-05 11:35:09 -07:00
stackwalker_arm_unittest.cc Increasing the Breakpad stack walker max scan limit from 30 to 40. 2015-10-05 11:35:09 -07:00
stackwalker_mips.cc Handle very large stack traces 2017-07-12 17:53:15 +00:00
stackwalker_mips.h Adding support for mips. 2013-09-11 11:37:04 +00:00
stackwalker_mips64_unittest.cc [MIPS]: Don't terminate stackwalk when $sp value doesn't change between frames 2017-03-16 15:59:05 +00:00
stackwalker_mips_unittest.cc [MIPS]: Don't terminate stackwalk when $sp value doesn't change between frames 2017-03-16 15:59:05 +00:00
stackwalker_ppc.cc Fix memory leak in ppc stackwalker 2017-08-18 10:24:52 +00:00
stackwalker_ppc.h Allow setting a limit on the number of frames to be recovered by stack scanning. 2013-08-19 18:31:51 +00:00
stackwalker_ppc64.cc Fix memory leak in ppc64 stackwalker 2017-08-30 17:28:54 +00:00
stackwalker_ppc64.h Allow setting a limit on the number of frames to be recovered by stack scanning. 2013-08-19 18:31:51 +00:00
stackwalker_selftest.cc Refactoring in preparation for microdump processing 2014-09-08 19:10:42 +00:00
stackwalker_selftest_sol.s Add SPARC/Solaris support to client handler and processor (#201, 200). 2007-09-26 18:28:05 +00:00
stackwalker_sparc.cc Handle very large stack traces 2017-07-12 17:53:15 +00:00
stackwalker_sparc.h Allow setting a limit on the number of frames to be recovered by stack scanning. 2013-08-19 18:31:51 +00:00
stackwalker_unittest_utils.h Populate stack frames with unloaded module info. 2017-01-19 19:33:56 +00:00
stackwalker_x86.cc Handle very large stack traces 2017-07-12 17:53:15 +00:00
stackwalker_x86.h Allow setting a limit on the number of frames to be recovered by stack scanning. 2013-08-19 18:31:51 +00:00
stackwalker_x86_unittest.cc Provide initial EBX value to FPO frame data evaluator 2016-10-14 17:51:32 +00:00
static_address_map-inl.h Add static version of map wrappers and corresponding serializers. 2010-10-15 20:36:31 +00:00
static_address_map.h Add static version of map wrappers and corresponding serializers. 2010-10-15 20:36:31 +00:00
static_address_map_unittest.cc This change allows compiling the google-breakpad code using a global ::string class instead of std::string. For more details take a look at common/using_std_string.h 2012-06-28 22:46:01 +00:00
static_contained_range_map-inl.h Use stdint types everywhere 2013-03-06 14:04:42 +00:00
static_contained_range_map.h Use stdint types everywhere 2013-03-06 14:04:42 +00:00
static_contained_range_map_unittest.cc Move scoped_ptr.h to common 2013-01-17 15:53:56 +00:00
static_map-inl.h Use stdint types everywhere 2013-03-06 14:04:42 +00:00
static_map.h Use stdint types everywhere 2013-03-06 14:04:42 +00:00
static_map_iterator-inl.h Use stdint types everywhere 2013-03-06 14:04:42 +00:00
static_map_iterator.h Use stdint types everywhere 2013-03-06 14:04:42 +00:00
static_map_unittest.cc Explicitly call non-sized delete on dynamically sized memory for correct behavior under sized-delete. 2016-03-11 16:37:46 -08:00
static_range_map-inl.h Add static version of map wrappers and corresponding serializers. 2010-10-15 20:36:31 +00:00
static_range_map.h Cleaning up google-breakpad source code of signed-unsigned comparison warnings 2012-11-21 01:33:08 +00:00
static_range_map_unittest.cc Move scoped_ptr.h to common 2013-01-17 15:53:56 +00:00
symbolic_constants_win.cc Allow compiling the google-breakpad code using a global ::string class instead of std::string. 2016-11-08 01:29:06 +00:00
symbolic_constants_win.h Allow compiling the google-breakpad code using a global ::string class instead of std::string. 2016-11-08 01:29:06 +00:00
synth_minidump.cc Added classes to support reading unloaded module lists in minidumps. 2016-12-16 20:15:04 +00:00
synth_minidump.h Added classes to support reading unloaded module lists in minidumps. 2016-12-16 20:15:04 +00:00
synth_minidump_unittest.cc Use stdint types everywhere 2013-03-06 14:04:42 +00:00
synth_minidump_unittest_data.h Use stdint types everywhere 2013-03-06 14:04:42 +00:00
tokenize.cc Don't use strtok_s for mingw builds 2015-08-20 15:09:16 +00:00
tokenize.h This change allows compiling the google-breakpad code using a global ::string class instead of std::string. For more details take a look at common/using_std_string.h 2012-06-28 22:46:01 +00:00
windows_frame_info.h Update symbol file documentation links. 2016-06-10 06:29:06 -04:00