Commit Graph

16 Commits

Author SHA1 Message Date
cdn@chromium.org
9a3de4160b Expose a callback to allow crash server implementations to defer the uploading of crash dumps to a later time. The client can provide a crash_id when the dump is performed and then at a later time connect again and request that the crash id be uploaded triggering an implementation defined callback.
BUG=473
TEST=CrashGenerationServerTest.*
Review URL: https://breakpad.appspot.com/379001

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@952 4c0a9323-5329-0410-9bdc-e9ce6186880e
2012-04-13 22:20:30 +00:00
mark@chromium.org
06c856fd67 Speculative back-out of r883, which may have broken Windows crash reporting.
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@891 4c0a9323-5329-0410-9bdc-e9ce6186880e
2011-11-28 19:17:41 +00:00
ted.mielczarek
06cede988b Allow CrashGenerationClient to request that a dump of the parent process be written.
A=Jim Mathies <jmathies@mozilla.com> R=ted at https://bugzilla.mozilla.org/show_bug.cgi?id=679238

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@883 4c0a9323-5329-0410-9bdc-e9ce6186880e
2011-11-11 19:05:51 +00:00
mark@chromium.org
494fa83886 Fix some newlines.
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@838 4c0a9323-5329-0410-9bdc-e9ce6186880e
2011-09-27 21:32:40 +00:00
erikwright@chromium.org
a91e414f84 Modify crash_generation_app to use GYP instead of VS .sln file for ease of maintenance.
Backed out r684 (added glog include dir to client gyp files). It was obviated by r685, which removed the dependency on glog from the client projects.

BUG=None
TEST="gclient runhooks --force"; build crash_generation_app; launch crash_generation_app.
r=hansl at http://breakpad.appspot.com/191001/show


git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@696 4c0a9323-5329-0410-9bdc-e9ce6186880e
2010-09-21 17:27:07 +00:00
nealsid
ae4d8370ee Fix for crashs generation test app to not deadlock
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@352 4c0a9323-5329-0410-9bdc-e9ce6186880e
2009-06-22 21:45:31 +00:00
doshimun
72bafd378d Microsoft broke PROCESS_ALL_ACCESS when we build with WINVER=0x600. See http://nsylvain.blogspot.com/2008/01/winverwin32winnt-mayhem.html for
details (second half of the post).

Changing PROCESS_ALL_ACCESS to GENERIC_ALL in ClientInfo class when
opening the client process handle on the OOP server side.

A minor change to pipe name in the test app also.



git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@274 4c0a9323-5329-0410-9bdc-e9ce6186880e
2008-05-15 04:12:34 +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
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
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
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
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
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