aboutsummaryrefslogtreecommitdiff
path: root/src/processor
Commit message (Collapse)AuthorAgeFilesLines
* Fix GetMainModule() to properly get first modulemkrebs@chromium.org2012-03-301-1/+1
| | | | | | | | | | | | | | | Change MinidumpModuleList::GetMainModule() to use GetModuleAtIndex() instead of GetModuleAtSequence() because the former gets the first module that was in the minidump file, while the latter actually gets the first module when sorted by address. While this is pretty much the same thing at the moment, I have another change in the works that can sometimes affect the module order in the file. BUG=chromium-os:25355 TEST=Ran Breakpad tests Review URL: https://breakpad.appspot.com/366001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@941 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix memory leak in DisassemblerX86.benchan@chromium.org2012-03-301-0/+3
| | | | | | | | | | | | A memory leak in DisassemblerX86 is detected by valgrind. This patch fixes the DisassemblerX86 destructor to properly free the |current_instr_| variable. BUG=471 TEST=Run valgrind on disassembler_x86_unittest to verify the leak is gone. Review URL: https://breakpad.appspot.com/371001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@940 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Add high level API for breakpad on iOS.qsr@chromium.org2012-03-131-0/+6
| | | | | | | | | | | The new API allows to automatically upload repports to the crash server when the application restarts. This change also: - Correct a bug on the test for correct alignment of the abrt signal handler - Add user friendly information on crashes for SIGABRT and NSException Review URL: https://breakpad.appspot.com/361001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@935 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Support for .raSearch in the x86 stackwalkermark@chromium.org2012-02-232-4/+76
| | | | | | | Patch by Benjamin Smedberg <bsmedberg@gmail.com> git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@927 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Handle program strings with the assignment operator smashed against the nextmark@chromium.org2012-02-233-120/+151
| | | | | | | | | token. Patch by Benjamin Smedberg <bsmedberg@gmail.com> git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@926 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix an invalid cast in PostfixEvaluator<ValueType>::EvaluateInternal().mark@chromium.org2012-02-231-1/+1
| | | | | | | | | | | | | | | This patch fixes a compilation error with gcc / clang on Linux / Mac OS. BUG=none TEST=Tested the following: 1. Build on 32-bit and 64-bit Linux with gcc 4.4.3 and gcc 4.6. 2. Build on Mac OS X 10.6.8 with gcc 4.2 and clang 3.0 (with latest gmock). 3. All unit tests pass. Patch by Ben Chan <benchan@chromium.org> git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@924 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Add support for @ operator to PostfixEvaluatorted.mielczarek2012-02-213-6/+17
| | | | | | R=mark at http://breakpad.appspot.com/349002/ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@923 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Clear error state flags in binarystream::rewind().benchan@chromium.org2012-01-091-0/+3
| | | | | | | | | | | | | This patch is taken from the downstream google-breakpad in Chromium OS (https://gerrit.chromium.org/gerrit/#change,7797), which makes binarystream::rewind() properly clear error state flags. BUG=460 TEST=Tested in downstream google-breakpad in Chromium OS. A=asharif@chromium.org Review URL: http://breakpad.appspot.com/339001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@901 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix ContextDeathTest.X86BadFlags unit test on Mac OS X.benchan@chromium.org2011-12-161-1/+1
| | | | | | | | | | | | The assertion (context.context_flags & MD_CONTEXT_X86) in synth_minidump.cc produces a different message on Mac OS X than other platforms. This patch changes the ContextDeathTest.X86BadFlags test to handle both message patterns. BUG=424 TEST=Verified ContextDeathTest.X86BadFlags on Windows, Linux and Mac OS X. Review URL: http://breakpad.appspot.com/333001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@894 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix some shadow variables, including one in file_id.cc that causes all files ↵thestig@chromium.org2011-10-201-7/+7
| | | | | | | | to generate the same hash. Add a test to make sure this doesn't happen again. Review URL: http://breakpad.appspot.com/316002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@875 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Changing declaration order of field to correct compilation warnings.qsr@chromium.org2011-10-181-4/+4
| | | | | | Review URL: http://breakpad.appspot.com/316001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@871 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Use frame pointer to walk ARM stack on iOS.qsr@chromium.org2011-10-174-26/+275
| | | | | | Review URL: http://breakpad.appspot.com/314001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@869 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Handle ios dump.qsr@chromium.org2011-10-113-1/+13
| | | | | | | | | | This change add a flag for ios minidumps and allow handler to recognize it. It doesn't recognize arm specific exceptions that will be logged as unknown type. Review URL: http://breakpad.appspot.com/311002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@855 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix 64-bit literals in test datated.mielczarek2011-09-011-33/+33
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@833 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Adjust MD_CONTEXT_CPU_MASK to reflect reality, fix some code so it can ↵ted.mielczarek2011-08-306-34/+633
| | | | | | | | | handle dumps using the old value for MD_CONTEXT_ARM The value of MD_CONTEXT_CPU_MASK in use assumes that only the lower 6 bits are used for flags, and the upper 26 bits are for the CPU type. However, as of Windows 7 SP1, the 7th bit is being used as a flag (per http://msdn.microsoft.com/en-us/library/hh134238%28v=vs.85%29.aspx and the Windows SDK headers). Adjusting MD_CONTEXT_CPU_MASK works, but unfortunately that masks off the existing value of MD_CONTEXT_ARM. This patch also changes the value of MD_CONTEXT_ARM and adjusts the minidump context reading machinery to gracefully handle minidumps with the old value. R=mark at http://breakpad.appspot.com/302001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@831 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix a sizeof(pointer) vs sizeof(pointee) issue caught by client.jessicag.feedback@gmail.com2011-07-211-1/+1
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@815 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Remove NetworkSourceLine{Resolver,Server} and related code. It never wound ↵ted.mielczarek2011-07-0711-3330/+0
| | | | | | | | up being useful enough to use in production, so let's drop the maintenence burden R=jessicag at http://breakpad.appspot.com/292001/show git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@795 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Delete OS failing test cases and note failure in relevant .h file.jessicag.feedback@gmail.com2011-06-211-34/+22
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@791 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix null derefs in x86 dissasembler code.cdn@chromium.org2011-05-121-2/+2
| | | | | | | | BUG=428 TEST=N/A Review URL: http://breakpad.appspot.com/285001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@789 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix compiler warning.jessicag.feedback@gmail.com2011-03-011-1/+4
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@776 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix printing of x86_64 registers from minidump_stackwalkted.mielczarek2011-02-141-15/+35
| | | | | | R=mark at http://breakpad.appspot.com/262001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@772 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Dump MD_LINUX_MAPS from minidump_dumpted.mielczarek2011-01-281-0/+4
| | | | | | R=kmixter at http://breakpad.appspot.com/261001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@767 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Expose actual instruction from DisassemblerX86ted.mielczarek2011-01-262-0/+12
| | | | | | R=cdn at http://breakpad.appspot.com/260001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@766 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix some apparently longstanding crash bugs in Stackwalker implementations ↵ted.mielczarek2011-01-247-13/+75
| | | | | | | | when resolver is NULL. R=mark at http://breakpad.appspot.com/257001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@761 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Add MinidumpMemoryInfo / MinidumpMemoryInfoList classes to expose ↵ted.mielczarek2011-01-133-0/+329
| | | | | | | | MDRawMemoryInfo / MDRawMemoryInfoList via the Minidump class R=mark at http://breakpad.appspot.com/255001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@755 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix review comment that I missed.ted.mielczarek2011-01-111-2/+2
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@752 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Make some parts of the processor compile on Win32/MSVCted.mielczarek2011-01-113-5/+27
| | | | | | R=mark at http://breakpad.appspot.com/250001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@751 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Allow out-of-process minidump generation to work on processes of a different ↵ted.mielczarek@gmail.com2010-12-151-1/+1
| | | | | | | | CPU architecture R=mark at http://breakpad.appspot.com/241001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@746 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Enable dumping of the Linux extension streams.kmixter@chromium.org2010-12-081-0/+60
| | | | | | | We now dump information about process's environment/command line/status, Linux release, and CPU info. Review URL: http://breakpad.appspot.com/238001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@738 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix segv in network_source_line_resolver_server_unittestkmixter@chromium.org2010-12-081-2/+2
| | | | | | | | R=siyangxie BUG=409 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@737 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Added null checks to disassembler_x86cdn@chromium.org2010-12-031-2/+2
| | | | | | Review URL: http://breakpad.appspot.com/239001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@736 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix for issue 222001.SiyangXie@gmail.com2010-11-044-222/+220
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@725 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Make memory allocation/deallocation consistent: use new char[] instead of ↵SiyangXie@gmail.com2010-11-036-28/+26
| | | | | | operator new() git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@724 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Tiny fix for memory allocation/deallocation mismatchSiyangXie@gmail.com2010-11-012-1/+5
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@722 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Restrict ownership of symbol data buffers to symbol supplier.SiyangXie@gmail.com2010-11-0110-59/+119
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@721 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Add missing module_serializer.h and module_serializer.cc for class ↵SiyangXie@gmail.com2010-10-253-3/+325
| | | | | | ModuleSerializer. git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@720 4c0a9323-5329-0410-9bdc-e9ce6186880e
* FastSourceLineResolver implementation for optimization purpose.SiyangXie@gmail.com2010-10-2113-4/+23503
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@719 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Double stack scanning length in stackwalkerted.mielczarek2010-10-191-0/+57
| | | | | | R=jimb at http://breakpad.appspot.com/215001/show git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@715 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Add static version of map wrappers and corresponding serializers.SiyangXie@gmail.com2010-10-1518-5/+2706
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@714 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix some compiler warnings: char*->const char*, default in swtch.SiyangXie@gmail.com2010-10-152-1/+8
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@713 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix for bug: debug checks for vector::operator[] fail in breakpad.SiyangXie@gmail.com2010-10-131-1/+1
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@712 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Refactor source line resolver, add interface in supplier and resolver.SiyangXie@gmail.com2010-10-0717-382/+810
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@711 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Make dump_syms output an INFO CODE_ID line that includes the code file and ↵ted.mielczarek2010-10-052-0/+5
| | | | | | | | code identifier. (Currently disabled to give Breakpad users time to update their processor code.) R=mark at http://breakpad.appspot.com/180001/show git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@710 4c0a9323-5329-0410-9bdc-e9ce6186880e
* missed test crashdumps in revision 706.cdn@chromium.org2010-10-024-0/+0
| | | | | | Review URL: http://breakpad.appspot.com/208001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@707 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Added method to exploitability class which checks if a given address ↵cdn@chromium.org2010-10-013-23/+70
| | | | | | | | | | contains all ascii characters. BUG=NONE TEST=ExploitabilityTest.TestWindowsEngine Review URL: http://breakpad.appspot.com/207001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@706 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Added libdisasm to the repository. This library is no longer under ↵cdn@chromium.org2010-10-0118-29/+926
| | | | | | | | | | | | | | | | | development so there is no reason not to keep it locally. Implemented a basic disassembler which can be used to scan bytecode for interesting conditions. This should be pretty easy to add to for things other than exploitability if there is a desire. This also adds several tests to the windows exploitability ranking code to take advantage of the disassembler for x86 code. BUG=None TEST=DisassemblerX86Test.* Review URL: http://breakpad.appspot.com/203001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@705 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Add stack-scanning fallback to Stackwalker{AMD64,ARM}.ted.mielczarek2010-10-017-20/+361
| | | | | | R=jimb at http://breakpad.appspot.com/206001/show git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@704 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Refactor some bits of StackWalkerX86 / StackFrameX86 out into their ↵ted.mielczarek2010-10-0110-92/+45
| | | | | | | | respective parent classes so they can be used by other architecture implementations. R=jimb at http://breakpad.appspot.com/205001/show git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@703 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix a segmentation fault bug in MinidumpAssertion::Read().SiyangXie@gmail.com2010-09-301-3/+6
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@702 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Added the base exploitability module for windows. This only adds the very ↵cdn@chromium.org2010-09-225-22/+250
| | | | | | | | | | | basic exception type based analysis for now. BUG=NONE TEST=MinidumpProcessorTest.TestExploitilityEngine Review URL: http://breakpad.appspot.com/189001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@698 4c0a9323-5329-0410-9bdc-e9ce6186880e