ted.mielczarek
dd2ff4a21c
issue 223 - Fixes for SOlaris handler during integration with Firefox. patch by Alfred Peng, r=mento,me
...
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@250 4c0a9323-5329-0410-9bdc-e9ce6186880e
2008-03-18 16:10:10 +00:00
bryner
98cb0aebff
Use "%" PRIx64 instead of "%llx" for 64-bit portability.
...
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@243 4c0a9323-5329-0410-9bdc-e9ce6186880e
2008-03-04 20:28:39 +00:00
mmentovai
c27cf3e395
Use "%" PRIx64 instead of "%llx" ( #241 ). r=bryner
...
http://groups.google.com/group/google-breakpad-dev/browse_thread/thread/327dc5326077e48d
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@241 4c0a9323-5329-0410-9bdc-e9ce6186880e
2008-02-25 19:32:00 +00:00
mmentovai
469580e2df
Remove dependency on ole32 on Windows ( #132 ). Patch by Sorin Jianu <sorinj>, r=me.
...
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@237 4c0a9323-5329-0410-9bdc-e9ce6186880e
2008-01-28 20:02:01 +00:00
luly81
299c816021
Add MD_CPU_ARCHITECTURE_AMD64 as valid system type when cpu type is MD_CONTEXT_X86
...
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@230 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-11-19 05:53:21 +00:00
ted.mielczarek
8eb7111814
Issue 196 - Breakpad processor support for x86-64. r=mento
...
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@227 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-10-31 19:20:31 +00:00
mmentovai
11e180cd3e
Fix warning regarding initialization order compared to definition order
...
following #222 .
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@226 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-10-22 16:00:35 +00:00
ted.mielczarek
d732add382
Issue 222 - processor fails if an entry in the ModuleList is bad. r=mento
...
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@225 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-10-19 18:44:51 +00:00
mmentovai
ea2bba9706
Add SPARC/Solaris support to client handler and processor ( #201 , 200).
...
Patch by Michael shang <satisfy123>. r=me, r=Alfred Peng.
http://groups.google.com/group/google-breakpad-discuss/browse_thread/thread/2fba07577f1fa35e
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@215 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-09-26 18:28:05 +00:00
mmentovai
278946c3b5
Fix crash reason switching to allow proper behavior for Linux. Spotted by
...
Michael Shang <satisfy123>, mentioned in issue #200 . r=me
http://groups.google.com/group/google-breakpad-discuss/browse_thread/thread/2fba07577f1fa35e
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@214 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-09-26 18:13:38 +00:00
mmentovai
0e6f5c95d7
Allow Breakpad processor library to build on Solaris with the native Sun
...
toolchain (#142 ). Patch by Alfred Peng. r=me.
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@213 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-09-26 18:08:41 +00:00
mmentovai
7e2b64f5fd
Fix license boilerplate on these two files. Apparently these were missed
...
when the boilerplates were fixed in revision 31/bug 29 - these files
were checked in at revision 32.
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@212 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-09-26 17:55:53 +00:00
ted.mielczarek
8408a209cd
issue 151 - Crash when processing file names less than 4 bytes. r=me
...
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@196 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-07-05 19:31:59 +00:00
mmentovai
6a844b1d85
Allow finer control over installed handler types ( #193 ). r=ted.mielczarek
...
http://groups.google.com/group/google-breakpad-dev/browse_thread/thread/992a1bb09dc58a32
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@193 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-07-02 19:41:05 +00:00
ted.mielczarek
b5c78cc8d1
issue 185 - Need constants / stringification for Linux exception codes. r=mento
...
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@189 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-06-11 17:03:30 +00:00
mmentovai
2e0e2234b9
Allow building with -pedantic ( #186 ). r=ted.mielczarek
...
http://groups.google.com/group/google-breakpad-dev/browse_thread/thread/6aa39d7f0ffa3c42
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@183 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-05-31 19:44:52 +00:00
mmentovai
e96a791d9a
Check allocation and array sizes in minidump.cc ( #12 ). r=bryner
...
http://groups.google.com/group/google-breakpad-dev/browse_thread/thread/7258b34d26ffc890
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@182 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-05-31 15:54:06 +00:00
ted.mielczarek
46b60801cb
Updated test data from Issue 143
...
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@181 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-05-30 14:06:36 +00:00
ted.mielczarek
90e050e598
Issue 143 - MinidumpProcessor should extract number of processors. r=mento
...
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@180 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-05-30 12:14:09 +00:00
ted.mielczarek
0e94332f7c
Issue 184 - MinidumpModule::code_identifier doesn't handle MD_OS_LINUX. r=mento
...
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@179 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-05-29 21:30:48 +00:00
mmentovai
6ed453a770
Processor can attempt processing all threads even when interrupted ( #177 ).
...
r=ted.mielczarek
http://groups.google.com/group/google-breakpad-dev/browse_thread/thread/8fda7c96fa7b5d57
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@178 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-05-25 19:10:19 +00:00
mmentovai
32b802dba3
Provide for logging initialization routines ( #179 ). r=bryner
...
http://groups.google.com/group/google-breakpad-dev/browse_thread/thread/4b196ca0b6d7f9a6
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@177 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-05-25 18:04:17 +00:00
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
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
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
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
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
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
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
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