Commit graph

139 commits

Author SHA1 Message Date
nealsid 47df365bf8 Issue 261/262: 64-bit bug fix when iterating through load commands of a 64-bit binary, and added new test case for ReadImageInfoForTask
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@266 4c0a9323-5329-0410-9bdc-e9ce6186880e
2008-05-05 18:20:04 +00:00
nealsid d6f0f92de3 Style changes
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@265 4c0a9323-5329-0410-9bdc-e9ce6186880e
2008-04-30 00:56:17 +00:00
nealsid d906d0f7c9 Updated code to be compliant with style guidelines
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@264 4c0a9323-5329-0410-9bdc-e9ce6186880e
2008-04-29 23:49:39 +00:00
nealsid 4c39c138fe Issue 258: Added test cases for ReadTaskMemory, reorganized project file, renamed filenames inside comments
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@263 4c0a9323-5329-0410-9bdc-e9ce6186880e
2008-04-25 00:37:19 +00:00
doshimun 9033edcd7b Add one more parameter to the ClientDumpRequestCallback in crash generation server
to pass in the path of the dump file if the dump was generated successfully.



git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@262 4c0a9323-5329-0410-9bdc-e9ce6186880e
2008-04-17 21:21:48 +00:00
nealsid 9609db8173 Fix a bug in start address calculation
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@261 4c0a9323-5329-0410-9bdc-e9ce6186880e
2008-04-17 04:15:30 +00:00
nealsid 5da03791a7 As part of resolving issue 256 I'd like to check in some unit
tests(ok, just one) for the private copy of nlist that I checked in
last week, plus lay some of the ground work for collecting code
coverage numbers.  Both of these are accomplished by leveraging the
built-in facilities of Xcode & Developer Tools(namely, CPlusTest and
gcov integration; however, eventually I will also add a way to get
lcov results from the gcov results).  I also:

 - renamed breakpad_nlist_64.c to breakpad_nlist_64.cc to be more
consistent(even though it's not C++ code it still only gets called by
C++ code so I don't have to deal with extern "C" constructs).
 - I created a new target (minidump_tests) that has a "Coverage"
configuration with the appropriate GCC flags turned on.  It is only
compiled in 64-bit configurations and has 10.5 as a minimum
deployment target as well as uses the 10.5 SDK.


git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@260 4c0a9323-5329-0410-9bdc-e9ce6186880e
2008-04-15 23:09:30 +00:00
nealsid b0d807666f Issue 254: The problem is that nlist() is compiled out of libc in
64-bit builds of Leopard.  I ported the code over myself and will
check it into the Breakpad tree until we decide there's a better
longer-term solution.  If you want to diff the changes, the Apple
source is in libc/gen/nlist.c(I used 498 from 10.5.2).



git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@259 4c0a9323-5329-0410-9bdc-e9ce6186880e
2008-04-12 01:16:18 +00:00
doshimun 35c34d6bb9 Add a parameter to CrashGenerationServer to let the callers set the
security attributes on the pipe. This is useful when the process
hosting the crash server wants to let processes from other users to
connect to it and generate dumps for them.



git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@258 4c0a9323-5329-0410-9bdc-e9ce6186880e
2008-04-12 00:00:34 +00:00
doshimun 05ec557277 Some cosmetic/style changes to conform to style guidelines. This time
I waited for the style reviewer to approve all my code so hopefully there
should be no more style related check-ins.



git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@256 4c0a9323-5329-0410-9bdc-e9ce6186880e
2008-04-08 19:03:57 +00:00
mmentovai eeca9921c5 Fix newlines (#253). rs=ted.mielczarek
http://groups.google.com/group/google-breakpad-dev/browse_thread/thread/7e62a299ce3fa222


git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@255 4c0a9323-5329-0410-9bdc-e9ce6186880e
2008-04-07 21:50:57 +00:00
nealsid 867df1c652 Issue 246: Dynamic_images.* needs to be 64-bit ready. Created types that are typedefed to the appropriate types depending on 32/64-bit compilation and modified dynamic_images to use these new types. Tested 32-bit minidump-generation. Also did some code cleanup along the way. Removed all blank lines that had spaces.
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@253 4c0a9323-5329-0410-9bdc-e9ce6186880e
2008-04-04 21:35:41 +00:00
doshimun fc816a3b3a Minor style changes to comply with Google style guidelines.
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@252 4c0a9323-5329-0410-9bdc-e9ce6186880e
2008-04-03 21:46:58 +00:00
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
doshimun@gmail.com 5066fcdb42 TO BE REVIEWED.
Have sent an email for code review already but this check-in is urgent
to fix potential build breaks.

It contains the following changes:
- Change project settings for exception_handler.vcproj so that it links in
  crash_generation.lib so that the applications using exception_handler.lib
  do not have to link to crash_generation.lib. Make these changes for all 4
  build configurations.
- Change the test app project settings to not link to crash_generation.lib
  and only link to exception_handler.lib; again for all four configurations.

These changes help the applications that are currently linking to exception_handler.lib
in that they don't have to link to one more lib to get out-of-process dump generation
functionality. In fact, even if they do not use out-of-process dump generation functionality,
after those changes, the apps will need to link with crash_generation.lib anyway in order to
build correctly. This change will eliminate that need.



git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@248 4c0a9323-5329-0410-9bdc-e9ce6186880e
2008-03-11 22:28:48 +00:00
doshimun@gmail.com a8b48f29dd This changelist contains the changes to the configuration of Visual Studio solution and project files that I
added in my last check-in for out-of-process dump generation. My last check-in broke the breakpad_client.sln
build for non debug builds since for the new project that I added (crash_generation.vcproj) to that solution,
I always only changed project properties for debug build. In fact, I didn't have the static-crt build configurations
for the new project either. Similar problems existed for the test application I added, windows/test/crash_generation_app).
 
This changelist contains changes to 2 solution files, 2 vcproj files and 1 .cc file. The fixes to .cc file are to avoid
warnings on variables used only in debug modes (in asserts) when building in release modes.



git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@247 4c0a9323-5329-0410-9bdc-e9ce6186880e
2008-03-10 22:37:07 +00:00
doshimun@gmail.com c79141e306 Overview:
Implement out-of-process dump generation for Windows platform.

Details:
- Created a lib, crash_generation.lib, that implements the out-of-process dump generation protocol.
- The lib code is under client/windows/crash_generation folder and is organized in the following way:
	- CrashGenerationServer class (crash_generation_server.h/.cc) implements the server side of
	  the protocol.
	- CrashGenerationClient class (crash_generation_client.h/.cc) implements the client side of
	  the protocol.
	- MinidumpGenerator class (minidump_generator.h/.cc) serves as an abstractino for generating
	  dump files using Windows APIs, coming up with new file names by creating GUIDs, etc.
	- ProtocolMessage class (ipc_protocol.h) represents the message format between the client and server
	  for pipe IPC.
	- Server allows one client at a time on the pipe in the current implementation.
	- ReadMe.txt explains the state machine the server uses to serve clients.
- ExceptionHandler is modified and a new constructor is added that allows specifying the pipe name. If the
  pipe name is NULL, the behavior is backward compatible - in-process dump generation is done as before. If
  the pipe name is specified, out-of-process dump generation registration is attempted. If that fails, the
  behavior is again backward compatible.
- If out-of-process registration succeeds, all write dump requests, direct or indirect, are directed to
  crash server process that served the registration request. NOTE that the explicit dump requests made by
  calling the static method of ExceptionHandler are not directed to theserver.
- client/windows/tests/crash_generation_app implements a simple Win32 GUI application to help test the
  out-of-process dump generation client and server. Typical use of the app is to start one instance, click
  Server --> Start and then start the other instance. The other instance will register with the first
  instance automatically at start-up. Then the second instance can be used to request various typoes of
  dump requests by using options under the Client menu.




git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@244 4c0a9323-5329-0410-9bdc-e9ce6186880e
2008-03-08 00:02:40 +00:00
ted.mielczarek 2c2ae28541 issue 238 - missing includes compiling with gcc 4.3. patch by taras glek, r=me
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@240 4c0a9323-5329-0410-9bdc-e9ce6186880e
2008-02-24 21:04:51 +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
mmentovai f4021f0c68 Make Breakpad's debug-exception-ignoring configurable. r=Nicolas Sylvain
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@224 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-10-18 20:54:20 +00:00
mmentovai e47d3a6e36 Remove assertion for a variable that doesn't exist. Patch by Alfred Peng
<alfred.peng>.  r=me.

http://groups.google.com/group/google-breakpad-dev/browse_thread/thread/e5738aed43450365


git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@223 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-10-15 20:47:12 +00:00
mmentovai 56d93f4902 Make sure ENOENT is defined. Spotted by jfbastien <bourgeoisie>.
http://groups.google.com/group/google-breakpad-discuss/browse_thread/thread/47f82fe37b7a46d8


git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@222 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-10-10 21:15:10 +00:00
mmentovai d7d6c74a68 Breakpad rejects valid modules with a vmaddr of zero on Mac (#176). Patch
by Benjamin Smedberg <bsmedberg>.  r=me


git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@220 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-09-28 18:30:48 +00:00
mmentovai 657a6c4a96 Assertion in CrashReportSender (windows) when no checkpoint file is desired
(#216).  Patch by Ben Turner <bent.mozilla>.  r=me.


git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@219 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-09-28 18:24:13 +00:00
mmentovai 68004c84d6 Solaris version of symbol dumper (#207). Patch by Alfred Peng. r=me
http://groups.google.com/group/google-breakpad-dev/browse_thread/thread/e4cbdbf7ddaf7f51


git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@218 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-09-28 18:14:48 +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
ladderbreaker 30dfc3d392 Issue 208: Reviewer waylonis
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@209 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-09-19 20:15:21 +00:00
ladderbreaker 649967cfd2 Issue 209: Reviewer waylonis
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@208 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-09-19 20:14:21 +00:00
ladderbreaker d792274003 Issue203 : reviewed by Waylonis
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@206 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-08-29 21:28:46 +00:00
ladderbreaker 69d242245a Issue 202: reviewed by Waylonis
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@205 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-08-27 19:46:32 +00:00
mmentovai 6a3f87982d Add accessor for ExceptionHandler::requesting_thread_id_ (#198). Patch by Lucas Eckels. r=me
http://groups.google.com/group/google-breakpad-dev/browse_thread/thread/37da2dd8c14659c3


git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@203 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-08-17 19:42:18 +00:00
ladderbreaker 70c7438bff Issue 197: reviewed by Waylonis
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@202 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-08-16 20:22:37 +00:00
mmentovai 9abfe3d0a5 Solaris port of minidump generator. Port by Alfred Peng. r=me
http://groups.google.com/group/google-breakpad-dev/browse_thread/thread/7d8945578e3dac3


git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@198 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-08-07 21:16:45 +00:00
ted.mielczarek b62d01462c Issue 175 - fix permissions on dump file in MinidumpFileWriter. r=mento
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@197 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-07-05 22:13:02 +00:00
ladderbreaker 43a81daaba issue 194: reviewed by waylonis
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@195 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-07-03 00:09:14 +00:00
mmentovai 3c07b28119 These should be int to allow them to be ORed together. Ted, please review.
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@194 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-07-02 20:41:30 +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 1260067e42 Issue 190 - 32 bit build fails on a 64 bit Linux system. Patch by wgianopoulos, r=me
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@192 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-07-02 18:13:33 +00:00
mmentovai fb6be7cf42 Add an API to pass exception information into the handler (#192).
r=ted.mielczarek

http://groups.google.com/group/google-breakpad-dev/browse_thread/thread/42e9ee1a636bca8b


git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@191 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-07-02 15:36:56 +00:00
ted.mielczarek 21d58c7281 Issue 182: linux handler doesn't have sigcontext if called from a previous signal handler. r=mento / Liu Li
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@188 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-06-11 16:01:46 +00:00
ted.mielczarek f68536ae50 Issue 169 - Fill in CPU vendor id in MDRawSystemInfo in Linux minidump_generator. r=Liu Li
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@185 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-05-31 20:28:43 +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
ladderbreaker 026b28ec40 issue 167: reviewed by Benjamin Smedberg
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@174 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-05-22 00:25:38 +00:00
bryner 08c8c4ddcf Add an optional per-day limit to the number of crash reports sent. The state
is maintained in an app-specified checkpoint file.  (#174, r=mmentovai)



git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@171 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-05-21 18:32:02 +00:00
waylonis 32d4064736 - Add const keyword / casting to supress more stringient compiler warnings
- Move DynamicImage::Print() from dynamic_images.h to dynamic_images.cc



git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@170 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-05-19 00:41:39 +00:00
ted.mielczarek 822ead1319 Issue 140 - Fill in some more cpu information on OS X x86 dumps. r=mento
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@167 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-05-11 00:50:29 +00:00
ted.mielczarek b86e7ec7f0 Issue 162 - handle pure virtual function calls in VC++. r=mento
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@166 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-05-10 17:12:14 +00:00
ted.mielczarek 0e668e0783 Issue 164 - MACHINE_THREAD_STATE on older 10.4 versions. Patch by Dave Camp, r=Chris Rogers
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@162 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-05-08 19:04:14 +00:00
ladderbreaker 3d55532df2 Issue 161: reviewer Waylonis
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@160 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-05-07 19:48:02 +00:00
ted.mielczarek 0c70be6873 Issue 163, reviewer mento. Make dynamic_images.cc build on 10.3.9 SDK + update XCode project
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@159 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-05-07 19:32:44 +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
ted.mielczarek 9be806efde missed header renames from Issue 152
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@155 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-05-04 12:41:02 +00:00
luly81 265726e56c Add md5 implementation into code base to get rid of
openssl dependency.




git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@153 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-05-03 20:45:27 +00:00
ted.mielczarek 255bbe93ed Issue 152 - Patch by Dave Camp, Reviewer Chris Rogers
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@152 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-05-03 20:12:41 +00:00
ladderbreaker de2fd15db9 Issue 159: reviewer Waylonis
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@151 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-05-02 21:05:49 +00:00
ladderbreaker c455a76c03 Issue 159: reviewer Waylonis
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@150 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-05-02 21:04:57 +00:00
mmentovai 30fc9ce1c0 Replace GB_WSU_SAFE_SWPRINTF_TERMINATE with inline code (#145 followup).
r=bryner

http://groups.google.com/group/google-breakpad-dev/browse_thread/thread/f77da3d219cf9388


git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@140 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-04-04 16:13:55 +00:00
mmentovai aec44489da vswprintf causes Purify to fail (#145). r=darin
http://groups.google.com/group/google-breakpad-dev/browse_thread/thread/88e18d9fac4eee22


git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@135 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-03-30 20:30:08 +00:00
luly81 3479e850c5 Fix issue 136.
Block signals before writing minidumps.



git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@134 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-03-29 01:32:39 +00:00
luly81 ab175ccc2b Fix bug of issue 135, now can dump symbols for dynamic libraries.
Also some minor fixes to make it compile with more strict compiling options.



git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@133 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-03-27 02:16:13 +00:00
luly81 bcd46f0079 Add Linux exception handler.
Add Linux stab symbol dumper.
Add minidump & symbol uploader for Linux.



git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@126 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-03-12 01:53:18 +00:00
ladderbreaker 530a7ad99e fixes for issue 128: reviewed by Waylonis
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@124 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-03-08 23:47:37 +00:00
bryner fce2508282 Fix exception handler build with MSVC versions prior to 2005. r=mmentovai.
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@123 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-03-05 21:13:23 +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
waylonis 983264848d Fix bug with mach-o walker not properly walking universal binary (Issue #125)
Fix exception handler so that it will properly forward exceptions (Issue #126)
r=mmentovai



git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@119 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-02-07 18:57:09 +00:00
waylonis 600e56bc39 - Fixes the bug with a fork()'d child's exception being caught in the parent process
- Only looks for EXC_MASK_BAD_ACCESS, EXC_MASK_BAD_INSTRUCTION, and EXC_MASK_ARITHMETIC exceptions
- Adds try/catch blocks around "new" for bad_alloc
- Uses map.find() rather than map[] notation so as not to create extraneous objects
- Creates the exception watching thread as detached

r=mmentovai



git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@117 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-02-05 18:49:44 +00:00
waylonis d31c8b0292 Changes to support patch #108:
- Calculate unique file id for mach-o files
- Add file id support to dump_syms and symupload tools
- Fix return values of tools to indicate success or failure
- Change dump_syms class to be Objective-C++



git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@109 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-01-23 19:17:03 +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
incrementalist d4e527b7ee Allows the caller of CrashReportSender::SendCrashReport() to determine that
the server rejected a crash report, by changing the return value from a
boolean to a tri-state enum.

Fixes issue #101.  Reviewed by mmentovai.



git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@99 4c0a9323-5329-0410-9bdc-e9ce6186880e
2007-01-03 23:14:46 +00:00
waylonis 5ac2b9a569 Add Mac exception handler and generator. Fixes issue #69. Reviewed by mmentovai.
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@98 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-12-20 17:41:55 +00:00
waylonis a2fa3dda54 Add better support for UTF character conversions. Fixes Issue 78.
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@91 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-12-16 01:01:19 +00:00
waylonis 8cc32d3bb8 Add unittest for minidump file writer. Fixes issue #85.
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@90 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-12-16 00:42:13 +00:00
mmentovai 65dbfcc15f Removing CRs from #81. Hey, how'd those get in there?
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@82 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-12-08 22:49:07 +00:00
incrementalist dd7c38baae This patch fixes Airbag issue #44.
Summary of this patch:
* It adds a new wstring* parameter to the end of both
SendCrashReport() and HTTPUpload::SendRequest(), which can be NULL.
* If the request isn't successful, the result parameter isn't touched.
* It adds HTTPUpload::UTF8ToWide() to allow the response to be
returned as a wstring,
* It changes the return value of SendRequest (and by extension,
SendCrashReport) so that if the size of the response body isn't
exactly the same as the value given in the Content-Length header, the
return value is false (in addition to the previous semantics).
* It also updates symupload.cc to account for the new parameter in
SendRequest().



git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@81 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-12-08 20:45:20 +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 ed61ae0bbd Don't use CRT in exception handler code (#86). r=bryner
http://groups.google.com/group/airbag-dev/browse_thread/thread/f671277ebd6ea7fd


git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@73 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-11-28 19:47:44 +00:00
waylonis 9e586c173e Move some inlined functions to .cc file. Add some assertions.
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@66 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-11-16 22:43:57 +00:00
waylonis ff480d4b4b Add minidump file writer. Tested on Mac, but should compile on POSIX systems.
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@65 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-11-16 21:52:18 +00:00
mmentovai 73cd14b4af Airbag client libraries should compile under MSVC .NET 2003/7.1 (#64).
r=bryner

http://groups.google.com/group/airbag-dev/browse_thread/thread/b838faeb50f71818


git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@64 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-11-15 22:24:42 +00:00
mmentovai 5ac32b6534 Minidumps should indicate which thread generated the dump and which requested
dump generation (#57).  r=bryner

http://groups.google.com/group/airbag-dev/browse_thread/thread/f11758d171261184


git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@61 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-11-06 20:54:19 +00:00
mmentovai b261019951 Windows exception handler does not survive stack overflows (#34). r=brian,
thanks also to darin
 - All minidump writing is now done on a dedicated thread.  When a stack
   overflow exception occurs, the only work that needs to be done on the
   exception thread will easily fit within the guard page.

http://groups.google.com/group/airbag-dev/browse_thread/thread/3935e339d8354a75


git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@57 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-10-31 16:49:38 +00:00
mmentovai 12a5245bfe Disable exception handling warnings in Windows client code (#38).
Patch by Ted Mielczarek.  r=me

http://groups.google.com/group/airbag-dev/browse_thread/thread/133814673f75d5fa


git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@56 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-10-27 19:47:21 +00:00
mmentovai 1bff57e589 Add set_dump_path method to ExceptionHandler (#37). Patch by Ted Mielczarek.
r=me

http://groups.google.com/group/airbag-dev/browse_thread/thread/06167df948717f4d


git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@55 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-10-27 16:10:55 +00:00
mmentovai 29401d2457 Support building with WIN32_LEAN_AND_MEAN (#60)
- All Windows code now builds with WIN32_LEAN_AND_MEAN by default.
 - Header inclusion is adjusted as needed.
Remove use of UuidToString (#39)
 - Also breaks dependency on RpcStringFree and therefore rpcrt4.lib.
r=bryner

http://groups.google.com/group/airbag-dev/browse_thread/thread/30f844cfc7ccd37f


git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@51 4c0a9323-5329-0410-9bdc-e9ce6186880e
2006-10-26 18:06:43 +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
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
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