History log of /external/google-breakpad/src/google_breakpad/processor/source_line_resolver_interface.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
2d460c37d16a99fd4bcdac045298e87b6b5735b0 11-Jul-2013 ivan.penkov@gmail.com <ivan.penkov@gmail.com@4c0a9323-5329-0410-9bdc-e9ce6186880e> Detect corrupt symbol files during minidump processing. Recover from the errors and use the good data if possible.

More specifically:
- Detect corrupt symbols during minidump processing and provide the list of modules with corrupt symbols in the ProcessState. This will allow listing the corrupt symbol files in the final crash report.
- Skip and recover from symbol data parse errors - don't give up until 100 parse errors are seen.
- In order to recover from '\0' (null terminator) in the middle of a symbol file, a couple of methods have to be updated to require both buffer pointer and length. Previously they required only a buffer pointer (char *) and the size of the buffer was evaluated using strlen which is not reliable when the data is corrupt. Most of the changes are due to these signature updates.
- Added and updated unittests.

Also, updated minidump_stackwalk to show a WARNING for corrupt symbols. Output looks like this:
...
Loaded modules:
0x000da000 - 0x000dafff Google Chrome Canary ??? (main)
0x000e0000 - 0x0417dfff Google Chrome Framework 0.1500.0.3 (WARNING: Corrupt symbols, Google Chrome Framework, 4682A6B4136436C4BFECEB62D498020E0)
0x044a8000 - 0x04571fff IOBluetooth 0.1.0.0
...
Review URL: https://breakpad.appspot.com/613002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1200 4c0a9323-5329-0410-9bdc-e9ce6186880e
/external/google-breakpad/src/google_breakpad/processor/source_line_resolver_interface.h
6162aed3c3fcfc53373c963ac375d39a5dfa5a25 06-Mar-2013 ted.mielczarek@gmail.com <ted.mielczarek@gmail.com@4c0a9323-5329-0410-9bdc-e9ce6186880e> Use stdint types everywhere
R=mark at https://breakpad.appspot.com/535002/

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1121 4c0a9323-5329-0410-9bdc-e9ce6186880e
/external/google-breakpad/src/google_breakpad/processor/source_line_resolver_interface.h
4e518a4357a2d1c379d4a91df6d4e153ee791101 29-Jun-2012 ivan.penkov@gmail.com <ivan.penkov@gmail.com@4c0a9323-5329-0410-9bdc-e9ce6186880e> 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



git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@974 4c0a9323-5329-0410-9bdc-e9ce6186880e
/external/google-breakpad/src/google_breakpad/processor/source_line_resolver_interface.h
921da5eb5412bc45368066966875ccc28d3b81d1 30-Mar-2012 benchan@chromium.org <benchan@chromium.org@4c0a9323-5329-0410-9bdc-e9ce6186880e> Fix class/struct mismatches in forward declarations.

This patch fixes some compiler warnings when compiling with clang.

BUG=none
TEST=Compile with clang and run unit tests.
Review URL: https://breakpad.appspot.com/368001

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@937 4c0a9323-5329-0410-9bdc-e9ce6186880e
/external/google-breakpad/src/google_breakpad/processor/source_line_resolver_interface.h
a8c1c466a16ad4c85bfd1ca20ab8fc056d669abe 01-Nov-2010 SiyangXie@gmail.com <SiyangXie@gmail.com@4c0a9323-5329-0410-9bdc-e9ce6186880e> Restrict ownership of symbol data buffers to symbol supplier.


git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@721 4c0a9323-5329-0410-9bdc-e9ce6186880e
/external/google-breakpad/src/google_breakpad/processor/source_line_resolver_interface.h
5b117cf53af46f357d28761ced3a1d94aeb5df91 07-Oct-2010 SiyangXie@gmail.com <SiyangXie@gmail.com@4c0a9323-5329-0410-9bdc-e9ce6186880e> Refactor source line resolver, add interface in supplier and resolver.


git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@711 4c0a9323-5329-0410-9bdc-e9ce6186880e
/external/google-breakpad/src/google_breakpad/processor/source_line_resolver_interface.h
b223627d81c083a64f2ccecf2651a18111421280 09-Apr-2010 ted.mielczarek <ted.mielczarek@4c0a9323-5329-0410-9bdc-e9ce6186880e> provide a network source line resolver + server. r=mark,jimb at http://breakpad.appspot.com/36001

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@569 4c0a9323-5329-0410-9bdc-e9ce6186880e
/external/google-breakpad/src/google_breakpad/processor/source_line_resolver_interface.h
6d3a825dbf5b924c2e754309b3008e462af1d8d2 16-Mar-2010 jimblandy <jimblandy@4c0a9323-5329-0410-9bdc-e9ce6186880e> Breakpad: Add minidump processor support for DWARF Call Frame Information.

Add a CFIFrameInfo class (named for symmetry with WindowsFrameInfo) to
represent the set of STACK CFI rules in effect at a given instruction,
and apply them to a set of register values. Provide a SimpleCFIWalker
class template, to allow the essential CFI code to be shared amongst
the different architectures.

Teach BasicSourceLineResolver to partially parse 'STACK CFI' records,
and produce the set of rules in effect at a given instruction on
demand, by combining the initial rule set and the appropriate rule
deltas in a CFIFrameInfo object.

Adapt StackwalkerX86 and StackFrameX86 to retrieve, store, and apply
CFI stack walking information.

Add validity flags for all the general-purpose registers to
StackFrameX86::ContextValidity.

a=jimblandy, r=mmentovai


git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@549 4c0a9323-5329-0410-9bdc-e9ce6186880e
/external/google-breakpad/src/google_breakpad/processor/source_line_resolver_interface.h
83e085b7a331c96237cf8e814f97b3ef4c36a70f 09-Feb-2010 jimblandy <jimblandy@4c0a9323-5329-0410-9bdc-e9ce6186880e> Breakpad: Update copyright notice years on all files changed in 2010.

We've gotten mixed advice from the lawyery types about whether this
matters. But it's easy enough to do.

a=jimblandy, r=nealsid


git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@517 4c0a9323-5329-0410-9bdc-e9ce6186880e
/external/google-breakpad/src/google_breakpad/processor/source_line_resolver_interface.h
cf55ca5b5cb673677a8493aff1424e1b83211c1a 12-Jan-2010 jimblandy <jimblandy@4c0a9323-5329-0410-9bdc-e9ce6186880e> Breakpad: Fix Emacs mode settings mingled with copyright notice text.

a=jimblandy, r=mmentovai


git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@484 4c0a9323-5329-0410-9bdc-e9ce6186880e
/external/google-breakpad/src/google_breakpad/processor/source_line_resolver_interface.h
e9faf5482802cb508401881f15b2712eb2f828f2 11-Jan-2010 jimblandy <jimblandy@4c0a9323-5329-0410-9bdc-e9ce6186880e> Issue 49013: Breakpad Processor: Use a separate API to retrieve Windows stack debugging info.

At the moment, FillSourceLineInfo returns Windows DIA-based stack
walking data. In addition to being ugly, this makes it difficult to
provide access to DWARF CFI-based stack walking data in a symmetrical
way.

This patch changes FillSourceLineInfo to do the single job its name
suggests, and adds a second member function to
SourceLineResolverInterface to retrieve Windows DIA stack walking
information. A sibling member function will provide access to DWARF
CFI stack walking data.

a=jimblandy, r=mmentovai


git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@480 4c0a9323-5329-0410-9bdc-e9ce6186880e
/external/google-breakpad/src/google_breakpad/processor/source_line_resolver_interface.h
b64d76a3b8a692f431d440f6a4416e7c70aad4ef 23-Dec-2009 jimblandy <jimblandy@4c0a9323-5329-0410-9bdc-e9ce6186880e> Issue 49012: Breakpad Processor: Rename 'StackFrameInfo' structure to 'WindowsFrameInfo'.

Also, rename stack_frame_info.h to windows_frame_info.h.

If it seems odd to have functions like FillSourceLineInfo returning
Windows-specific data structures... well, it is! This patch just makes
it more obvious what's going on.

a=jimblandy, r=nealsid


git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@471 4c0a9323-5329-0410-9bdc-e9ce6186880e
/external/google-breakpad/src/google_breakpad/processor/source_line_resolver_interface.h
0fd2f1ae2152782f2127c56fb5302002c95502d3 19-Feb-2009 nealsid <nealsid@4c0a9323-5329-0410-9bdc-e9ce6186880e> Modify symbol supplier interface to support an overload that takes a symbol data buffer, to get around an extraneous read/write of symbol data

R=doshimun



git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@311 4c0a9323-5329-0410-9bdc-e9ce6186880e
/external/google-breakpad/src/google_breakpad/processor/source_line_resolver_interface.h
e5dc60822e5938fea2ae892ccddb906641ba174e 14-Feb-2007 mmentovai <mmentovai@4c0a9323-5329-0410-9bdc-e9ce6186880e> Rename Airbag to Breakpad.


git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@122 4c0a9323-5329-0410-9bdc-e9ce6186880e
/external/google-breakpad/src/google_breakpad/processor/source_line_resolver_interface.h