Commit graph

95 commits

Author SHA1 Message Date
nealsid d318f9efee Fix to stop unit tests from being compiled & run for non-native architectures
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@272 4c0a9323-5329-0410-9bdc-e9ce6186880e
2008-05-08 23:15:00 +00:00
doshimun 7ab126ecdd Replace the user of wcscpy_s with safe_wcscpy in common/windows/string_utils-inl.h to
make the code compatible for teams that still use VS 2003 to build.

Fix a bug in client ClientInfo class that returned CustomClientInfo struct containing
a pointer in the client process address space instead of pointer to in-process data
structure.



git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@271 4c0a9323-5329-0410-9bdc-e9ce6186880e
2008-05-08 18:15:07 +00:00
doshimun 8602aa71ec Some style guide compliance changes and changed the prototype of the method to get custom client info in ClientInfo class.
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@270 4c0a9323-5329-0410-9bdc-e9ce6186880e
2008-05-07 21:54:12 +00:00
nealsid c2bdaa613c Bug fix for issue 263: mach_vm_region_recurse calls have invalid parameter specified, which succeeds on Leopard but fails on Tiger
Reviewer: Chris Rogers(ladderbreaker)


git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@269 4c0a9323-5329-0410-9bdc-e9ce6186880e
2008-05-07 21:15:12 +00:00
doshimun 3d4dc1f201 Add a convenience method to CustomClientInfo struct to set both name and value in one call.
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@268 4c0a9323-5329-0410-9bdc-e9ce6186880e
2008-05-05 21:03:51 +00:00
doshimun 0ded3d718f Add a way for the client apps to specify custom information in case of out-of-process
scenarios that the OOP server can use in whatever way it wants to.

Fix a bug in CrashGenerationserver where CreateNamedPipe failure was not checked correctly.

TODO in near future: Add a custom stream to minidump files for the custom information.



git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@267 4c0a9323-5329-0410-9bdc-e9ce6186880e
2008-05-05 20:03:56 +00:00
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