mmentovai
1ef60aaa6c
Fix bustage introduced in [172]
...
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@176 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-05-25 16:06:53 +00:00
mmentovai
fabb8714a7
Strengthen range checks in minidump.cc ( #173 ). r=bryner
...
http://groups.google.com/group/google-breakpad-dev/browse_thread/thread/ad373296bfe5e08b
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@173 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-05-21 21:02:04 +00:00
mmentovai
65571f17ed
Add logging to minidump processor ( #82 ). Part 2: add messages to the rest of
...
the processor. r=ted.mielczarek
http://groups.google.com/group/google-breakpad-dev/browse_thread/thread/cf56b767383a5d4b
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@172 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-05-21 20:09:33 +00:00
mmentovai
af3c43f00e
Add logging to minidump processor ( #82 ). First part: logging infrastructure
...
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
2007-05-17 18:34:37 +00:00
ted.mielczarek
95be2b659e
Issue 168 - Output debug file and debug identifier in minidump_stackwalk machine-readable output. r=mento
...
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@168 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-05-16 18:11:36 +00:00
mmentovai
436801fa23
Stacks (still) truncated on win32 ( #165 ). Patch by Benjamin Smedberg. r=me
...
Don't require a program string to reset %ebp, as not all program strings
set this value.
http://groups.google.com/group/google-breakpad-dev/browse_thread/thread/ee4854ae7ffce94e
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@163 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-05-08 20:56:30 +00:00
ted.mielczarek
980f6dc277
Extraneous newline in format string
...
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@161 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-05-08 11:31:10 +00:00
ted.mielczarek
663b7904e4
oops, committed accidentally
...
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@157 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-05-04 19:52:18 +00:00
ted.mielczarek
9a3263a670
Issue 160 - Reviewer Chris Rogers
...
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@156 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-05-04 19:37:00 +00:00
mmentovai
3c27dcc1b6
Minidump without context crashes the processor ( #153 ). r=bryner
...
http://groups.google.com/group/google-breakpad-dev/browse_thread/thread/2d221bd478bec550
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@148 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-04-25 19:38:01 +00:00
mmentovai
b63740b329
Truncated Windows/x86 stacks when using FPO. Add stack scanning to recover
...
instruction and frame pointers with better reliability. r=bryner
http://groups.google.com/group/google-breakpad-dev/browse_thread/thread/e74af03fb0629aa0
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@146 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-04-20 18:36:42 +00:00
mmentovai
33f178df55
s/an breakpad/a breakpad/ ( #127 ), patch by techtonik, r=me
...
http://groups.google.com/group/google-breakpad-dev/browse_thread/thread/9610c2878a2bcdc
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@131 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-03-23 16:21:17 +00:00
bryner
809f0cb858
Ignore functions that have invalid addresses or sizes, instead of aborting the
...
symbol file load (#137 ). r=mmentovai.
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@130 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-03-22 23:20:17 +00:00
mmentovai
e5dc60822e
Rename Airbag to Breakpad.
...
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@122 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-02-14 19:51:05 +00:00
mmentovai
baff938211
Airbag windows client didn't trap VC8 parameter validation errors. Now it
...
does. (#120 ) r=bryner.
http://groups.google.com/group/airbag-dev/browse_thread/thread/3f21d0e379e32771
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@120 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-02-07 20:20:10 +00:00
bryner
1d78cad82e
Store 128-bit values as a struct with high and low fields, so that consumers
...
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
2007-02-07 04:24:03 +00:00
waylonis
3a9a38a29e
Don't fail the minidump processing if the requesting thread can't be found.
...
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@116 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-02-01 23:54:05 +00:00
mmentovai
d986a54f67
Add module list to machine-readable minidump_stackwalk output ( #119 ).
...
Patch by Ted Mielczarek. r=me
http://groups.google.com/group/airbag-dev/browse_thread/thread/144e66b1de80b1db
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@114 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-01-29 21:30:31 +00:00
mmentovai
482e44bf51
Qualify string and vector with std namespace when used without
...
using-declaration (#118 ). r=bryner
http://groups.google.com/group/airbag-dev/browse_thread/thread/4946d156a37331df
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@113 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-01-25 21:56:18 +00:00
mmentovai
a14ef803d7
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
2007-01-25 00:17:02 +00:00
mmentovai
48dab62c2d
Be lenient when reading CodeView records of unknown types ( #110 ). r=bryner
...
- 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
2007-01-17 00:16:37 +00:00
mmentovai
f614cb9845
Pass the exception record (EXCEPTION_POINTERS*) to callback functions from
...
ExceptionHandler on Windows. Patch by John Abd-El-Malek. r=me
Interface change: post-dump and pre-dump (filter) callbacks now must accept
an additional EXCEPTION_POINTERS* argument.
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@103 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-01-12 16:54:10 +00:00
mmentovai
97d392dc4b
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
2007-01-10 22:47:56 +00:00
mmentovai
c7b6c11f32
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
2006-12-12 21:52:56 +00:00
mmentovai
fb35cf79e2
Fix stackwalker_selftest following #89 ( #95 ). r=bryner
...
http://groups.google.com/group/airbag-dev/browse_thread/thread/d6d6a83ec41f4e0f
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@84 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-12-12 21:51:36 +00:00
bryner
fd38d48e6d
Add an abstract interface to SourceLineResolver, and allow any implementation
...
to be used with MinidumpProcessor. The basic SourceLineResolver is now a
public interface (#89 )
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@83 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-12-11 23:22:54 +00:00
bryner
f33b8d2d07
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
2006-12-08 04:13:51 +00:00
mmentovai
283fd39248
Allow exception handler callbacks more flexibility ( #81 ). r=bryner
...
- Provide an optional filter callback that gets triggered before attempting
to write a dump, to give client code a chance to refuse handling early
in the process.
- Allow exceptions that are unhandled by Airbag (due to filter callback or
dump callback return value, or failure to write a dump) to be passed to the
previous handler or to the system.
- In order to pass exceptions unhandled by the topmost Airbag handler to
lower handlers, fix up the stacking of ExceptionHandler objects, and give
each ExceptionHandler object its own thread (like the Mac implementation)
to avoid deadlock.
- Provide a dump_path argument to callbacks, as requested by developers and
already implemented in the Mac handler.
- Avoid calling c_str in exception handler code (#90 ).
http://groups.google.com/group/airbag-dev/browse_thread/thread/4771825ced38a84c
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@79 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-12-07 20:46:54 +00:00
mmentovai
94f07040ce
Test data update following PDBSourceLineWriter change ( #91 ). r=bryner
...
http://groups.google.com/group/airbag-dev/browse_thread/thread/d713d3e73aa1a0dd
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@78 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-12-07 15:55:30 +00:00
mmentovai
28e5990b57
Fix possible null pointer dereference in MinidumpModule (following #32 ).
...
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
2006-12-06 05:03:48 +00:00
waylonis
daf4211942
Update reporting strings for exceptions (Issue 88)
...
Add time_date_stamp to process state.
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@75 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-12-06 04:58:27 +00:00
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
mmentovai
4365e2fe41
Support GUID-less PDBs ( #77 ). r=bryner
...
- Handle MDCVInfoPDB20-based PDBs by outputting a signature instead of a guid
in the MODULE line.
- Identify the OS and CPU in the MODULE line.
- Suppress multiple subsequent identical STACK WIN lines.
http://groups.google.com/group/airbag-dev/browse_thread/thread/0f54e2c33ed5d82d
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@70 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-11-21 16:58:36 +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
7573d1dd44
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
2006-11-17 18:50:19 +00:00
mmentovai
8647dde8cc
Limit use of default namespace in tests and utility programs ( #71 ). r=bryner
...
- main is now the only thing you'll find in the default namespace.
Everything else has been moved into an unnamed namespace.
http://groups.google.com/group/airbag-dev/browse_thread/thread/14130a0284a0307f
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@63 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-11-09 17:04:56 +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
mmentovai
80866e7945
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
2006-11-06 19:34:19 +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
6b9955cc42
minidump_stackwalk should use MinidumpProcessor ( #64 ). r=bryner
...
- Commit missing test data.
http://groups.google.com/group/airbag-dev/browse_thread/thread/cce30a84f6b2d728
--This line, and .those below, will be ignored--
A src/processor/testdata/minidump2.stackwalk.out
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@54 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-10-27 00:41:52 +00:00
mmentovai
c34850a202
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
2006-10-27 00:40:56 +00:00
mmentovai
f944ba3fbb
MinidumpProcessor uses the wrong context for non-crash threads ( #62 ). r=bryner
...
http://groups.google.com/group/airbag-dev/browse_thread/thread/74743a397c52b7e2
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@52 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-10-26 23:09:02 +00:00
mmentovai
aa57b8e3de
Add MDString to minidump_format.h ( #59 ). r=bryner
...
http://groups.google.com/group/airbag-dev/browse_thread/thread/599a47765598cf34
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@50 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-10-26 00:27:00 +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
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