aboutsummaryrefslogtreecommitdiff
path: root/src/client/windows/crash_generation/minidump_generator.cc
Commit message (Collapse)AuthorAgeFilesLines
* Fixing a Windows compiler warning in ↵ivan.penkov@gmail.com2012-08-171-4/+4
| | | | | | | | | | src/client/windows/crash_generation/minidump_generator.cc http://breakpad.appspot.com/432002/ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1014 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Speculatively back out r984. See http://codereview.chromium.org/10805065/mark@chromium.org2012-07-251-17/+5
| | | | | | | | | | | and http://build.chromium.org/p/chromium/builders/NACL%20Tests%20%28x64%29/builds/34563 chrome src/native_client/tests/inbrowser_crash_test/crash_dump_tester.py says that the observed failures are a symptom of crash_service.exe itself crashing. git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@999 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix a Windows compiler warning with a cast:mark@chromium.org2012-07-231-1/+1
| | | | | | | | | | | minidump_generator.cc(423) : warning C4267: '=' : conversion from 'size_t' to 'ULONG', possible loss of data Patch by Robert Sesek <rsesek@chromium.org> Review URL: https://breakpad.appspot.com/420002/ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@994 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Add the capability to include an arbitrary data stream within minidumpscdn@chromium.org2012-07-101-5/+17
| | | | | | | This is supplied via a custom field "custom-data-stream" Review URL: https://breakpad.appspot.com/408002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@984 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Do not fail crash dump generation if handle operations tracing is not enabledmark@chromium.org2012-07-031-1/+2
| | | | | | | | | | | | | and yet the fatal exception was STATUS_INVALID_HANDLE. BUG=131699 Patch by Alex Pakhunov <alexeypa@chromium.org> Review URL: https://breakpad.appspot.com/409003/ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@980 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Allow the minidump writer to collect handle data so that resulting dump containsmark@chromium.org2012-07-031-13/+240
| | | | | | | | | | | | | | | | | | | | | information about opened handles (!handle) and handle operations trace (!htrace). Depending on the dump type different amount of data is collected. For a full dump all handles and complete handle trace are included to the dump. In the case of a minidump the list of handle operations for a single handle value (the last handle value that caused STATUS_INVALID_HANDLE exception) is recorded. In either case the handle trace should be explicitly enabled by the client process (or by a debugger) in order to produce any handle trace data. BUG=131699 Patch by Alex Pakhunov <alexeypa@chromium.org> Review URL: https://breakpad.appspot.com/410002/ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@979 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Moved exception_handler_test to the more aptly named ↵hansl@google.com2010-05-121-1/+21
| | | | | | | | | | | | | | | | exception_handler_death_test. It doesn't test anything else than death and exit. Created the exception_handler_test that test the generation of dump and the dumps themselves. Moved all dump analysis code from minidump to its right class DumpAnalysis. The class is used by both minidump_test and exception_handler_test. The tests are way simpler that way (ie. no handling of HANDLE). minidump_test now uses the minidump_generator class instead of using Win32. It works well and pass all tests. exception_handler now passes both the exception and assertion infos to the client to generate the dump. If one is NULL it's going to be handled correctly. crash_generation_client can now RequestDump with both exception and assertion info. minidump_generator returns both the mini and full dump string pointers, and output both (or either) depending on which was generated. All original interfaces and method signature are still there, but call the new functions if possible. Review URL: http://codereview.chromium.org/1994015 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@596 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix warning when converting int to boolnealsid2008-10-101-1/+1
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@288 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Generate Windows full memory dumps as a separate file. Patch by Huan Renmmentovai2008-09-161-7/+56
| | | | | | | <huanr@google.com>. r=me git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@285 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Set the dump thread id and the requesting thread id properties of ↵doshimun2008-05-311-5/+9
| | | | | | | | | | | | | | MDRawBreakpadInfo only in case of in-process dump generation; otherwise the dump processing code of breakpad doesn't identify the crashing thread properly. I am checking this in to-be-reviewed since it is needed urgently in one of the products at Google. git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@276 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Add one more parameter to the ClientDumpRequestCallback in crash generation ↵doshimun2008-04-171-1/+9
| | | | | | | | | | 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
* Fix newlines (#253). rs=ted.mielczarekmmentovai2008-04-071-228/+228
| | | | | | | 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
* Overview:doshimun@gmail.com2008-03-081-0/+228
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