mmentovai
db3342a10e
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
2006-12-05 22:52:28 +00:00
mmentovai
373c49b416
Eliminate usage of vector<>[0] for 0-sized vectors in processor library ( #84 ).
...
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
2006-11-27 21:42:07 +00:00
bryner
042ca733d3
Use the reentrant versions of strtok() and gmtime() ( #79 ) r=mmentovai
...
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@69 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-11-20 20:58:10 +00:00
mmentovai
76f052f8fb
Suppress handler thread from appearing in MinidumpProcessor's ProcessState
...
(#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
2006-11-06 23:00:19 +00:00
mmentovai
fe82bf24a9
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
2006-11-06 19:39:47 +00:00
waylonis
e47047b383
Fix minor naming inconsistency ( #67 ). r=mmentovai
...
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@58 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-11-02 01:02:39 +00:00
mmentovai
80e98391dc
Fix minor style problems ( #58 ). r=bryner
...
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
2006-10-25 21:25:41 +00:00
mmentovai
0a7e6bf16c
minidump_dump does not print MDRawSystemInfo::processor_revision. No bug.
...
r=bryner
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@48 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-10-25 19:41:56 +00:00
mmentovai
e5468b8a49
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
2006-10-24 19:31:21 +00:00
mmentovai
2466d8e993
Replace auto_ptr with scoped_ptr ( #56 ). r=bryner
...
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
2006-10-23 20:25:42 +00:00
mmentovai
2fc823f579
Add PUBLIC support to SourceLineResolver (resolve function names in Windows
...
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
2006-10-20 19:50:01 +00:00
mmentovai
246f406828
Handle frame pointer omission, ( #21 ), part 4 (final part!): FPO stackwalker.
...
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
2006-10-20 01:46:38 +00:00
mmentovai
960e5277ee
ppc stackwalker ( #30 ). r=bryner
...
- 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
2006-09-25 18:29:48 +00:00
mmentovai
3402cae5e5
Add ppc support to minidump reader ( #27 ). r=bryner.
...
- 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
2006-09-22 01:10:25 +00:00
mmentovai
7daf246e4b
Relicense to BSD ( #29 ). r=bryner
...
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
2006-09-20 21:16:16 +00:00
mmentovai
8c2a4def4e
Handle frame pointer omission ( #21 ), part 1: ContainedRangeMap. r=bryner.
...
- 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
2006-09-20 16:20:15 +00:00
mmentovai
82a6c6037b
Add ppc types to minidump_format.h ( #25 ). r=waylonis
...
- 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
2006-09-20 01:14:59 +00:00
mmentovai
6dd21d3baf
Change interface for providing files to Minidump ( #19 ). r=bryner
...
- 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
2006-09-08 16:41:17 +00:00
mmentovai
53d0f69d35
Conform to style guidelines.
...
- 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
2006-09-07 15:56:38 +00:00
mmentovai
8d2f465c8a
minidump_dump test is timezone-dependent ( #15 ). r=bryner
...
- 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
2006-09-07 15:17:40 +00:00
mmentovai
3261e8b6ea
Initial implementation of minidump reader ( #6 ). r=bryner
...
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@11 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-09-06 02:56:44 +00:00