History log of /external/google-breakpad/src/processor/process_state.cc
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
ea4b5be2a2b9a5d5e7a09150a1821b1db5698a45 25-Nov-2014 ivanpe@chromium.org <ivanpe@chromium.org@4c0a9323-5329-0410-9bdc-e9ce6186880e> Surfacing the process create time in google_breakpad::ProcessState
and updating minidump_stackwalk to show process uptime.

I tested this with a minidump from Chrome and I got a result that
is inline with what the Windows debugger is showing for that dump:

minidump_stackwalk output:
--------------------------
Process uptime: 601 seconds

WinDBG output:
--------------
Process Uptime: 0 days 0:10:01.000

I didn't update the machine readable output of minidump_stackwalk
on purpose in order to avoid breaking someone that uses it.
It can be added later to the machine output if needed.

R=mark@chromium.org

Review URL: https://breakpad.appspot.com/7754002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1406 4c0a9323-5329-0410-9bdc-e9ce6186880e
/external/google-breakpad/src/processor/process_state.cc
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/process_state.cc
5a2106b5f95f3232ac0e9aab5f081eb04313a8b6 06-Mar-2013 ivan.penkov@gmail.com <ivan.penkov@gmail.com@4c0a9323-5329-0410-9bdc-e9ce6186880e> Keeping track of modules without symbols during crash report processing.

http://breakpad.appspot.com/534002/



git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1126 4c0a9323-5329-0410-9bdc-e9ce6186880e
/external/google-breakpad/src/processor/process_state.cc
0314e487e46a45229e275eb78b09f0538a5a7769 02-Dec-2009 ted.mielczarek <ted.mielczarek@4c0a9323-5329-0410-9bdc-e9ce6186880e> issue 170 - Report assertion type in minidump_stackwalk output. r=mark at http://breakpad.appspot.com/45001

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@433 4c0a9323-5329-0410-9bdc-e9ce6186880e
/external/google-breakpad/src/processor/process_state.cc
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/process_state.cc
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/process_state.cc
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/process_state.cc
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/process_state.cc
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/process_state.cc
e5468b8a49ac6a4e5acb9d4003838e3e323f85e4 24-Oct-2006 mmentovai <mmentovai@4c0a9323-5329-0410-9bdc-e9ce6186880e> MinidumpProcessor should process all threads (#35). r=bryner
- MinidumpProcessor now processes all threads and returns a new ProcessState
object. (Interface change.)
- ProcessState contains a CallStack for each thread in the process, and
additional information about whether the process crashed, which thread
crashed, the reason for the crash, and identifying attributes for the
OS and CPU.
- MinidumpSystemInfo now contains a GetCPUVendor() method that returns the
vendor information from CPUID 0 on x86 processors ("GenuineIntel").

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


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