History log of /external/google-breakpad/src/processor/simple_symbol_supplier.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/processor/simple_symbol_supplier.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/processor/simple_symbol_supplier.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/processor/simple_symbol_supplier.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/processor/simple_symbol_supplier.h
2ad976ef0ba44f36842b9b7a11848f6b40fd25d5 28-Feb-2009 nealsid <nealsid@4c0a9323-5329-0410-9bdc-e9ce6186880e> Fix for issues 296, 297. Various symbol supplier classes need to be updated with new overload('make check' was failing, as well as crash_report), and remove logging that was flooding output



git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@318 4c0a9323-5329-0410-9bdc-e9ce6186880e
/external/google-breakpad/src/processor/simple_symbol_supplier.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/processor/simple_symbol_supplier.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/processor/simple_symbol_supplier.h
a14ef803d70614a01725a269acb509027fe84942 25-Jan-2007 mmentovai <mmentovai@4c0a9323-5329-0410-9bdc-e9ce6186880e> Support machine-readable output format from minidump_stackwalk;
Support multiple symbol paths in SimpleSymbolSupplier (#113).
Patch by Ted Mielczarek. r=me

http://groups.google.com/group/airbag-dev/browse_thread/thread/44b91a9112618b26


git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@112 4c0a9323-5329-0410-9bdc-e9ce6186880e
/external/google-breakpad/src/processor/simple_symbol_supplier.h
97d392dc4b60f0099cd7ad8c8a5f06581a532392 10-Jan-2007 mmentovai <mmentovai@4c0a9323-5329-0410-9bdc-e9ce6186880e> Communicate OS and CPU to SymbolSupplier (#107). r=bryner

Interface change: moved a few fields around in ProcessState; added new
arguments to Stackwalker and SymbolSupplier.

http://groups.google.com/group/airbag-dev/browse_thread/thread/17e4a48ec3ede932


git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@101 4c0a9323-5329-0410-9bdc-e9ce6186880e
/external/google-breakpad/src/processor/simple_symbol_supplier.h
c7b6c11f3287ec4fe52e6ad915ed9c906ed8d301 12-Dec-2006 mmentovai <mmentovai@4c0a9323-5329-0410-9bdc-e9ce6186880e> Fix capitalization of identifiers (#94). r=bryner

http://groups.google.com/group/airbag-dev/browse_thread/thread/15cf4d0ce5ed1014


git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@85 4c0a9323-5329-0410-9bdc-e9ce6186880e
/external/google-breakpad/src/processor/simple_symbol_supplier.h
f33b8d2d07a057fdd667c2e0db629ba7cbc37cc3 08-Dec-2006 bryner <bryner@4c0a9323-5329-0410-9bdc-e9ce6186880e> Provide a mechanism for SymbolSuppliers to interrupt processing (#93)



git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@80 4c0a9323-5329-0410-9bdc-e9ce6186880e
/external/google-breakpad/src/processor/simple_symbol_supplier.h
db3342a10ec30902aa9018b80e1d9a40bd01c487 05-Dec-2006 mmentovai <mmentovai@4c0a9323-5329-0410-9bdc-e9ce6186880e> Module API (#32). r=waylonis, bryner
- Introduces a standard API for dealing with modules. MinidumpModule
is now a concrete implementation of this API. Code may interact with
single modules using the CodeModule interface, and collections of
modules using its container, the CodeModules interface.
- CodeModule is used directly by SymbolSupplier implementations and
SourceLineResolver. Reliance on the specific implementation in
MinidumpModule has been eliminated.
- Module lists are now added to ProcessState objects. Module references
in each stack frame are now pointers to objects in these module lists.
- The sample minidump_stackwalk tool prints the module list after printing
all threads' stacks.

http://groups.google.com/group/airbag-dev/browse_frm/thread/a9c0550edde54cf8


git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@74 4c0a9323-5329-0410-9bdc-e9ce6186880e
/external/google-breakpad/src/processor/simple_symbol_supplier.h
7573d1dd4412171794f76bea833e4ae5f72929f8 17-Nov-2006 mmentovai <mmentovai@4c0a9323-5329-0410-9bdc-e9ce6186880e> Modify SimpleSymbolSupplier for easier sublcassing (#75).
Patch by Ted Mielczarek <ted.mielczarek>. r=me

http://groups.google.com/group/airbag-dev/browse_thread/thread/34690777576ccf7e


git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@67 4c0a9323-5329-0410-9bdc-e9ce6186880e
/external/google-breakpad/src/processor/simple_symbol_supplier.h
fe82bf24a93d9d3affd614aaa23f2f018a733d8e 06-Nov-2006 mmentovai <mmentovai@4c0a9323-5329-0410-9bdc-e9ce6186880e> Move headers for exported interfaces into src/google_airbag (#51). r=bryner

http://groups.google.com/group/airbag-dev/browse_thread/thread/e01f177386e8794a


git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@60 4c0a9323-5329-0410-9bdc-e9ce6186880e
/external/google-breakpad/src/processor/simple_symbol_supplier.h
80866e79454cefc5570b01dbb0a723185eae653c 06-Nov-2006 mmentovai <mmentovai@4c0a9323-5329-0410-9bdc-e9ce6186880e> Symbol file should contain module GUID at beginning (#66). r=bryner
- The dumped symbol format now begins with a MODULE line identifying the
uuid, age, and name of the source pdb file.
- The processor ignores MODULE lines, but they are useful in figuring out
how to index symbol files in a symbol store.
- dump_syms and symupload now both accept either a pdb or exe/dll and
will read the pdb regardless.
- Figured out that MSSS always represents a module's age in pathnames in
hexadecimal, and updated SimpleSymbolSupplier to match.

http://groups.google.com/group/airbag-dev/browse_thread/thread/572108d6567edd58


git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@59 4c0a9323-5329-0410-9bdc-e9ce6186880e
/external/google-breakpad/src/processor/simple_symbol_supplier.h
c34850a2023442a22fa653ab8546e72738ed2dd4 27-Oct-2006 mmentovai <mmentovai@4c0a9323-5329-0410-9bdc-e9ce6186880e> minidump_stackwalk should use MinidumpProcessor (#64). r=bryner
- minidump_stackwalk is now much more useful as a debugging tool and
even as a standalone tool.
- Reimplementation of minidump_stackwalk around MinidumpProcessor.
- minidump_stackwalk displays all pertinent information returned by
MinidumpProcessor in the ProcessState.
- New PathnameStripper::File static utility method to display only the
leaf file name in a pathname, cleaning up minidump_stackwalk's output.
- New SimpleSymbolSupplier class, which implements a simple
filesystem-based symbol supplier compatible with the layout used by
Microsoft Symbol Server and its client cache.
- minidump_stackwalk now accepts an optional second argument, a pathname
to use as a symbol directory for a SimpleSymbolSupplier.
- Updated test data to be compatible with SimpleSymbolSupplier, and added
test data for kernel32.pdb. Test data converted from CRLF line endings
to LF.

http://groups.google.com/group/airbag-dev/browse_thread/thread/cce30a84f6b2d728


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