aboutsummaryrefslogtreecommitdiff
path: root/src/processor/minidump.cc
Commit message (Collapse)AuthorAgeFilesLines
* Add logging to minidump processor (#82). First part: logging infrastructuremmentovai2007-05-171-144/+633
| | | | | | | | | and messages for minidump.cc and minidump_processor.cc. r=bryner. http://groups.google.com/group/google-breakpad-dev/browse_thread/thread/b056994d675f623c git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@169 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Rename Airbag to Breakpad.mmentovai2007-02-141-31/+31
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@122 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Store 128-bit values as a struct with high and low fields, so that consumersbryner2007-02-071-11/+24
| | | | | | | of airbag don't have to know the platform endianness. git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@118 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Be lenient when reading CodeView records of unknown types (#110). r=brynermmentovai2007-01-171-52/+96
| | | | | | | | | | | - Read (but don't use) CodeView records with unknown signature values instead of failing. This allows the module list to be read in, and will result in better stack traces in affected dumps. http://groups.google.com/group/airbag-dev/browse_thread/thread/2c7d3e3b1fd6ea96 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@104 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Communicate OS and CPU to SymbolSupplier (#107). r=brynermmentovai2007-01-101-0/+46
| | | | | | | | | | 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
* Fix capitalization of identifiers (#94). r=brynermmentovai2006-12-121-3/+9
| | | | | | | 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
* Fix possible null pointer dereference in MinidumpModule (following #32).mmentovai2006-12-061-9/+9
| | | | | | | | | r=waylonis http://groups.google.com/group/airbag-dev/browse_thread/thread/b684b775078d91ca git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@76 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Module API (#32). r=waylonis, brynermmentovai2006-12-051-107/+283
| | | | | | | | | | | | | | | | | | | - 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
* Eliminate usage of vector<>[0] for 0-sized vectors in processor library (#84).mmentovai2006-11-271-112/+126
| | | | | | | | | r=bryner http://groups.google.com/group/airbag-dev/browse_thread/thread/8eb9277ac06425e3 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@72 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Use the reentrant versions of strtok() and gmtime() (#79) r=mmentovaibryner2006-11-201-3/+3
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@69 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Suppress handler thread from appearing in MinidumpProcessor's ProcessStatemmentovai2006-11-061-8/+106
| | | | | | | | | | | | (#65). r=bryner - Interface change: (ProcessState).crash_thread is now requesting_thread and will be populated for non-crash dumps. If the requesting thread cannot be determined, requesting_thread is set to -1. http://groups.google.com/group/airbag-dev/browse_thread/thread/c422ec481a2db440 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@62 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Move headers for exported interfaces into src/google_airbag (#51). r=brynermmentovai2006-11-061-9/+11
| | | | | | | 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
* Fix minor naming inconsistency (#67). r=mmentovaiwaylonis2006-11-021-8/+8
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@58 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix minor style problems (#58). r=brynermmentovai2006-10-251-7/+9
| | | | | | | http://groups.google.com/group/airbag-dev/browse_thread/thread/bbcecab979fa82bc git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@49 4c0a9323-5329-0410-9bdc-e9ce6186880e
* minidump_dump does not print MDRawSystemInfo::processor_revision. No bug.mmentovai2006-10-251-2/+2
| | | | | | | r=bryner git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@48 4c0a9323-5329-0410-9bdc-e9ce6186880e
* MinidumpProcessor should process all threads (#35). r=brynermmentovai2006-10-241-5/+47
| | | | | | | | | | | | | | | | - 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
* Replace auto_ptr with scoped_ptr (#56). r=brynermmentovai2006-10-231-17/+17
| | | | | | | http://groups.google.com/group/airbag-dev/browse_thread/thread/54c66451ed8e2835 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@46 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Add PUBLIC support to SourceLineResolver (resolve function names in Windowsmmentovai2006-10-201-2/+2
| | | | | | | | | | | system libraries) (#53) StackFrame::function_base is not populated (#49) r=bryner http://groups.google.com/group/airbag-dev/browse_thread/thread/a17d35348e7027bb git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@43 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Handle frame pointer omission, (#21), part 4 (final part!): FPO stackwalker.mmentovai2006-10-201-3/+3
| | | | | | | | | | | | | r=bryner - This change allows Airbag to properly walk win32 stacks produced by code built with MSVC's frame pointer omission optimization (/Oy). This optimization is enabled at /O1 and /O2. - There too many interface and file format changes to list here. http://groups.google.com/group/airbag-dev/browse_thread/thread/85ce85bfa8457ece git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@42 4c0a9323-5329-0410-9bdc-e9ce6186880e
* ppc stackwalker (#30). r=brynermmentovai2006-09-251-1/+1
| | | | | | | | | | | | - Implementation of PowerPC stackwalker. Tested using stackwalker_selftest (#18). - Hook up processor-side multi-CPU support in MinidumpProcessor and minidump_stackwalk using the new Stackwalker::StackwalkerForCPU method. http://groups.google.com/group/airbag-dev/browse_thread/thread/1c2fa7c5182a77a9 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@34 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Add ppc support to minidump reader (#27). r=bryner.mmentovai2006-09-221-103/+361
| | | | | | | | | | | | - Uses new MDRawContextPPC structure from #25. - Interface change: (MinidumpContext).context() replaced with GetContextCPU to determine CPU type and GetContextX86/GetContextPPC to get CPU-specific context. http://groups.google.com/group/airbag-dev/browse_thread/thread/f6c2e9cab2832b4c git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@33 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Relicense to BSD (#29). r=brynermmentovai2006-09-201-10/+25
| | | | | | | http://groups.google.com/group/airbag-dev/browse_thread/thread/5f19f13fc172c4e0 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@31 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Handle frame pointer omission (#21), part 1: ContainedRangeMap. r=bryner.mmentovai2006-09-201-0/+1
| | | | | | | | | | | | | - ContainedRangeMap is the data structure that will be used to store and look up debugging information for frames by instruction address. The debugging information includes a way to locate the calling frame in the absence of a saved frame pointer. - Restructure RangeMap into an -inl file to match ContainedRangeMap. http://groups.google.com/group/airbag-dev/browse_thread/thread/c5823bfc1828ed42 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@29 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Add ppc types to minidump_format.h (#25). r=waylonismmentovai2006-09-201-4/+4
| | | | | | | | | | | | | | - New MDRawContextPPC struct, based on ppc_thread_state and others in mach/ppc/_types.h. - Add (defining where necessary) MDCPUArchitecture and MDOSPlatform enums to support non-x86/win dumps. Add MD_CONTEXT_* definitions for non-x86 CPUs. - Document a few more fields. http://groups.google.com/group/airbag-dev/browse_thread/thread/963028fc01547851 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@28 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Change interface for providing files to Minidump (#19). r=brynermmentovai2006-09-081-2/+29
| | | | | | | | | | | | - Interface change: Minidump constructor now accepts a const string& path argument instead of int fd. Minidump will open the file on first Read and close it upon destruction. - Adapt callers to new interface, no longer leaking file descriptors. http://groups.google.com/group/airbag-dev/browse_thread/thread/ff24dbcde7db8ae3 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@20 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Conform to style guidelines.mmentovai2006-09-071-44/+44
| | | | | | | | | | | | - In class definitions, one-space indent for public/protected/private. - Multi-line initializer format puts comma at end of line. Also: - Eliminate the long list of friends in Minidump by making swap() public. (People who need to access unknown stream types directly will need access to swap() too.) git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@16 4c0a9323-5329-0410-9bdc-e9ce6186880e
* minidump_dump test is timezone-dependent (#15). r=brynermmentovai2006-09-071-1/+1
| | | | | | | | - Use gmtime (UTC) instead of localtime for human-readable presentation of (MDRawHeader).time_date_stamp. git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@15 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Initial implementation of minidump reader (#6). r=brynermmentovai2006-09-061-0/+2025
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@11 4c0a9323-5329-0410-9bdc-e9ce6186880e