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
d119a921ea
Make stack_frame_info vector hold linked_ptrs instead of objects;
...
make Stackwalker::Walk create and return a CallStack instead of filling a
caller-supplied one (#54 ). r=bryner
Interface change: Stackwalker::Walk and MinidumpProcessor::Process now return
a new CallStack*.
http://groups.google.com/group/airbag-dev/browse_thread/thread/d2bad5d7c115c3fe
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@45 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-10-23 19:24:58 +00:00
bryner
7772046297
Update comments to reflect HTTPS support, r=mark.
...
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@44 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-10-23 17:50:59 +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
5afd60b067
Improvements for Windows client/tool-side code. r=bryner
...
- Allow Windows sender to use https (#41 ).
- HTTPUpload not proxy-friendly (#46 ).
- Check http status codes (sort of #44 ).
- Allow symupload to work with versionless files (prints a warning, server
may still reject).
http://groups.google.com/group/airbag-dev/browse_thread/thread/5a12a72dffc5999c
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@41 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-10-19 21:48:51 +00:00
bryner
181f307ffe
Reduce calls to SymbolSupplier::GetSymbolFile() ( #48 ).
...
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@40 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-10-16 18:19:09 +00:00
bryner
8b1645d8cd
Implement a tool to upload symbols on Windows, given an exe or dll file with
...
debugging info. Refactor common code into HTTPUpload so that the multipart
POST request code can be shared with CrashReportSender. #47
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@39 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-10-16 17:27:03 +00:00
mmentovai
fc1c78e60e
Handle frame pointer omission ( #21 ), part 3: SourceLineResolver and PDBSourceLineWriter changes. r=bryner.
...
- PDBSourceLineWriter (dump_syms) outputs stack frame debugging information
- SourceLineResolver reads the new information and puts it into a
new StackFrameInfo structure, which is stored in a ContainedRangeMap.
FillSourceLineInfo passes the StackFrameInfo back to the caller.
- The base Stackwalker makes StackFrameInfo data available to subclasses
during stackwalking, but does not use this information directly itself.
Stackwalkers may access stack_frame_info_ for enhanced stackwalking
(this will be part 4).
- New test data for the updated dumped-symbol format
http://groups.google.com/group/airbag-dev/browse_thread/thread/735f191c9a1a1de4
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@38 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-09-28 21:09:37 +00:00
bryner
f140025664
Add static-CRT build configurations. Get rid of the largely redundant README,
...
moving the linkage comments to the corresponding headers.
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@37 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-09-28 19:35:08 +00:00
bryner
1217c1f898
Initial version of Windows exception handler and crash report sender classes
...
(#31 ). r=mmentovai.
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@36 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-09-27 01:00:32 +00:00
mmentovai
0dbedc973d
Better testing for Stackwalker ( #18 ). r=bryner
...
- Test StackwalkerX86 and StackwalkerPPC on the current process, if built
by a supported compiler (gcc) on a supported (walkable) CPU (x86, ppc).
- This test is not enabled by default because of certain optimizations
that interfere with it (stack frame reuse, frame pointer omission). See
the comments at the top of stackwalker_selftest.cc. To enable this
test in the standard "make check" suite, configure with --enable-selftest.
http://groups.google.com/group/airbag-dev/browse_thread/thread/2ca1c8e72c809bec
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@35 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-09-25 21:16:15 +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
b934bb974a
Handle frame pointer omission ( #21 ), part 2: PostfixEvaluator. r=bryner.
...
- A postfix (reverse-Polish) notation expression evaluator that we can
feed stack-frame debug information into, crank, and get pointers to
the calling frame from.
http://groups.google.com/group/airbag-dev/browse_thread/thread/a1d6c5d1fd5fdcb9
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@32 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-09-22 00:42:23 +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
355c757b49
Improve documentation in minidump_format.h ( #28 ). r=bryner
...
http://groups.google.com/group/airbag-dev/browse_thread/thread/17840a32fb296638
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@30 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-09-20 17:36:21 +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
bryner
0170bea32f
Follow-up to #26 : get rid of supplier_data, it's not really needed since
...
the caller can implement their own supplier object. r=mmentovai.
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@27 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-09-20 00:00:12 +00:00
bryner
cce3492afc
Get rid of CrashReport, and rename CrashReportProcessor to MinidumpProcessor
...
(#26 ) r=mmentovai.
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@26 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-09-19 21:58:41 +00:00
mmentovai
d9fb68c3e0
Stylistic changes for RangeMap ( #24 ). r=bryner
...
http://groups.google.com/group/airbag-dev/browse_thread/thread/97c378bd175ab7c0
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@25 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-09-14 19:19:24 +00:00
mmentovai
683c86e6c5
Typo fixes. Patch by Ludovic Hirlimann.
...
http://groups.google.com/group/airbag-dev/browse_thread/thread/5d523eea06731806
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@24 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-09-14 16:31:38 +00:00
bryner
4c13853437
Add a client_id field to CrashReport ( #22 ) r=mmentovai.
...
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@23 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-09-11 22:50:25 +00:00
bryner
adf186cc76
Change report id to be a string ( #21 ) r=mmentovai.
...
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@22 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-09-11 17:35:19 +00:00
mmentovai
cb9fd5b773
Make SourceLineResolver use RangeMap ( #13 ). r=bryner
...
- Eliminate MemAddrMap from source_line_resolver.cc and adapt it to use
RangeMap, also used by minidump.cc.
- RangeMap operates on both a base address and a size, where MemAddrMap
only used a base address, so the dumped symbol file format is modified
to include size information. dump_syms produces these files and
SourceLineResolver consumes them.
- Provide updated test data conforming to the new dumped symbol format.
http://groups.google.com/group/airbag-dev/browse_thread/thread/e9403cf3ad6336a1
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@21 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-09-08 18:03:56 +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
bryner
512511a895
addressing follow-up review comments from mark ( #17 )
...
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@19 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-09-08 04:05:46 +00:00
bryner
d5e66382d1
Add support to the StackWalker for resolving symbols, using a
...
caller-implemented SymbolSupplier object to get a symbol file.
Add a CrashReportProcessor object which provides a simple API for processing
a CrashReport struct, given a SymbolSupplier and a minidump file.
r=mmentovai (#17 ))
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@18 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-09-08 02:35:53 +00:00
bryner
39716226cf
Make SourceLineResolver fill a StackFrame rather than using its own struct ( #16 ), r=mmentovai.
...
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@17 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-09-07 17:26: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
7f686d1953
Conform to style guidelines: methods overriding virtual methods should also be declared virtual.
...
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@14 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-09-06 21:37:46 +00:00
mmentovai
73badfc376
Initial implementation of x86 stackwalker ( #9 ), missing file. r=bryner
...
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@13 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-09-06 20:58:56 +00:00
mmentovai
213800d30c
Initial implementation of x86 stackwalker ( #9 ). r=bryner
...
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@12 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-09-06 19:28:46 +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
bryner
07f8ef56ac
Change header paths and include guards to be relative to the "src" directory. r=mmentovai.
...
http://groups.google.com/group/airbag-dev/msg/cbe061dd563e9d17
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@10 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-09-05 19:42:57 +00:00
bryner
70e12562b8
Adding a CrashReport struct, r=mmentovai.
...
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@9 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-09-01 19:34:00 +00:00
mmentovai
425d256321
Make build system less annoying ( #8 ) r=bryner
...
- Place objects in the appropriate directories, instead of filling up
the root directory.
- Remove namespace macros, which made maintenance troublesome and which
created a dependency on config.h in public headers
- Skip useless Fortran checks at configure time
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@8 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-08-30 20:05:05 +00:00
mmentovai
310d2f384d
Cleanup from #7
...
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@7 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-08-29 20:44:49 +00:00
feng.qian.moz
019890bab7
Deleting java/common.
...
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@6 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-08-29 20:26:25 +00:00
feng.qian.moz
68b748fc58
Common files for reporting and symbol server
...
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@5 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-08-29 01:41:20 +00:00
bryner
cb91a2f879
Initial import, which includes the Windows client-side dump_syms tool, and
...
part of the server-side dump processor.
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@4 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-08-25 21:14:45 +00:00
bengoodger
684d6764fe
Adding a test html file
...
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@3 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-08-23 18:33:44 +00:00
mmentovai
798478c323
Word.
...
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@2 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-08-23 02:54:30 +00:00
(no author)
1f30036849
Initial directory structure.
...
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-08-22 22:14:45 +00:00