aboutsummaryrefslogtreecommitdiff
path: root/src/client/windows
Commit message (Collapse)AuthorAgeFilesLines
...
* Expose a callback to allow crash server implementations to defer the ↵cdn@chromium.org2012-04-1310-22/+69
| | | | | | | | | | 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
* Unregister waits when a client shuts down so that no further callback events cancdn@chromium.org2012-03-221-0/+1
| | | | | | | | | | fire for that client. BUG=117890 TEST=N/A Review URL: https://breakpad.appspot.com/365001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@936 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Eliminate another source of UnspecifiedStackSignature crash dumps.mark@chromium.org2011-12-211-45/+38
| | | | | | | | | | | | | | | | | Manufacturing an exception record improves the crash reporting, since then the crashes get bucketed by the call stack leading to the dump, instead of all falling into a misc bucket that nobody ever looks at. Currently these are occuring through e.g. dumps from the base watchdog. Link against RtlCaptureContext, as the function has been documented as available from Windows XP [http://msdn.microsoft.com/en-us/library/windows/desktop/ms680591(v=vs.85).aspx]. Patch by Siggi Asgeirsson <siggi@chromium.org> git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@897 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Speculative back-out of r883, which may have broken Windows crash reporting.mark@chromium.org2011-11-2813-208/+4
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@891 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Allow CrashGenerationClient to request that a dump of the parent process be ↵ted.mielczarek2011-11-1113-4/+208
| | | | | | | | 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
* Fix svn:executable and svn:eol-style properties in src/client/windows.mark@chromium.org2011-10-2016-0/+0
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@872 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix some newlines.mark@chromium.org2011-09-275-977/+977
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@838 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Remove javascript_engine GYP variable.mihaip@chromium.org2011-09-131-5/+1
| | | | | | | | | (it's no longer needed in Chromium as of http://crrev.com/100692) Review URL: http://breakpad.appspot.com/303001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@834 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Protect "std::max", "std::min" against MACROs defined in WinDef.h.SiyangXie@gmail.com2011-03-111-3/+3
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@780 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Use a MinidumpCallback to force minidumps on Windows to include memory ↵ted.mielczarek2011-01-253-3/+416
| | | | | | | | around the faulting instruction pointer. Older versions of DbgHelp don't seem to do this correctly (on Windows XP, for example) R=mark at http://breakpad.appspot.com/259001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@763 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Round-trip client/processor unittests for Windowsted.mielczarek2011-01-244-4/+77
| | | | | | R=mark at http://breakpad.appspot.com/258001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@762 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fixing typos that will soon be gyp errors.thestig@chromium.org2011-01-111-1/+1
| | | | | | | | | A=bradnelson R=thestig Original review: http://breakpad.appspot.com/251001 Review URL: http://breakpad.appspot.com/252001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@750 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Modify crash_generation_app to use GYP instead of VS .sln file for ease of ↵erikwright@chromium.org2010-09-218-589/+75
| | | | | | | | | | | | | 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
* Fix CrashGenerationServer to recover from protocol errors and a test for same.erikwright@chromium.org2010-09-206-77/+442
| | | | | | | R=siggi at http://breakpad.appspot.com/196001/show git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@695 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Actually treat fatal error codes as fatalnealsid2010-09-161-2/+1
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@690 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix include paths in breakpad_client.gyp to make the build workted.mielczarek2010-09-151-0/+1
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@684 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix HandleInvalidParameter/HandlePureVirtualCall to dynamically lookup the ↵ted.mielczarek2010-08-021-28/+50
| | | | | | RtlCaptureContext symbol so the Windows exception handler will continue to work on Windows 2000. Patch by Jim Mathies <jmathies@mozilla.com> and Timothy Nikkel <tnikkel@gmail.com>. r=ted git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@637 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Issue 384 - UnregisterWait error handling is incorrect. Patch by Benjamin ↵ted.mielczarek2010-05-192-16/+6
| | | | | | Smedberg <benjamin@smedbergs.us>, r=doshimun at http://breakpad.appspot.com/107001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@603 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Patch from Vitaly to remove synchronization and make exception handling code ↵nealsid2010-05-181-3/+1
| | | | | | single-threaded git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@602 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Changed two files end-line to make it work better with GYP. They were DOS ↵hansl@google.com2010-05-142-111/+111
| | | | | | | | | | (CR/LF), now they are UNIX (CR). It seems like the base gyp scripts on Windows were confused about this and didn't handle it well, while using gyp through gclient worked perfectly. I did not investigate the causes further. Review URL: http://codereview.chromium.org/2128003 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@599 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Added a death test for the pure virtual function call.hansl@google.com2010-05-133-8/+174
| | | | | | | | | Added a test for the minidump generated by a pure virtual function call. Changed the pure virtual function call handler so that it creates a minidump with Exception info and a stack. Review URL: http://codereview.chromium.org/2050013 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@597 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Moved exception_handler_test to the more aptly named ↵hansl@google.com2010-05-1211-399/+793
| | | | | | | | | | | | | | | | 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
* Copied minidump_test.cc from chrome_frame (see ↵hansl@google.com2010-05-053-0/+484
| | | | | | | | | | | | http://src.chromium.org/viewvc/chrome/trunk/src/chrome_frame/crash_reporting/minidump_test.cc). I had to remove the dependency from base (was using FilePath and ScopedHandle, replaced them by standard std::wstring and HANDLE). Also removed the logging and the main from the original files. This will serve as a base for testing breakpad's dump generation. It is kept like this for easier tracking. Review URL: http://codereview.chromium.org/1964006 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@592 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Replacing solutions with gyp files. Moving tests for windows clients in ↵hansl@google.com2010-05-0318-1320/+1822
| | | | | | | | unittests. Review URL: http://codereview.chromium.org/1687018 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@581 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix dependency on Visual C++ 9 introduced by revision 557.nealsid2010-04-291-1/+1
| | | | | | | | | | | A=nealsid r=mmentovai http://breakpad.appspot.com/105001/ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@580 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix HandleInvalidParameter to provide a locally created exception record for ↵siggi@chromium.org2010-03-261-3/+23
| | | | | | | | | | | the minidump. Having an exception of interest makes the resultant minidumps look just like crash dumps, in that the processor can identify the "crashing" tread. This means such minidumps can be classified by the stack signature, in contrast to the current state of things, in which all such dumps get lumped on a single pile. git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@557 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix build break for 64-bit compilation.nealsid2009-12-171-1/+1
| | | | | | | | | A=Gregory Dardyk R=nealsid git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@452 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Check RegisterWaitForSingleObject return in CrashGenerationServer::Start.mmentovai2009-09-281-6/+8
| | | | | | | | | Patch by Matt Mueller <mattm@chromium.org> Review URL: http://codereview.chromium.org/244028 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@402 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix an INVALIDATE_ITERATOR defect reported by Coverity.nealsid2009-07-301-5/+5
| | | | | | | | | | | | std::vector::erase() invalidates the iterator, so we need to advance the iterator by using the return value of erase(). R=nealsid A=wtc git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@370 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Integration test for Windows exception handler/minidump generation.nealsid2009-07-173-0/+440
| | | | | | | | | R=hannah tang A=nealsid git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@358 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix for crashs generation test app to not deadlocknealsid2009-06-221-1/+2
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@352 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix up warnings when building http_upload.cc. Changed warning level to /W4, ↵nealsid2009-05-271-2/+2
| | | | | | | | | | | and also turned off deprecated 64-bit compatability warning flag(since some people are regularly building Breakpad in 64-bit mode, if we turn off this flag we get rid of a warning in 32 bit mode under VS2008) R=mmentovai A=nealsid git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@340 4c0a9323-5329-0410-9bdc-e9ce6186880e
* AppVerifier leak test fix for Windows 7.doshimun2009-04-081-0/+2
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@327 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix for issue 304: symupload needs to support timeout specifications(wininet ↵nealsid2009-03-201-1/+1
| | | | | | | | | | | can timeout when sending large symbol files). R=doshimun W=nealsid git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@319 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Reinstnate the call to TerminateThread inside ExceptionHandler destructor ↵doshimun2009-01-201-1/+10
| | | | | | | | | | | | | | | | | | | | | | and put the graceful code inside a #ifdef. The problem is: If ExceptionHandler is created and destroyed in DllMain, then the previous change to remove the call to TerminateThread will lead to a deadlock. This is because inside DllMain the loader lock is acquired, and the previous change waits for the handler thread to exit in the destructor, that is with the loader lock acquired. But the handler thread cannot finish until it gets the loader lock to call DllMain for THREAD_DETACH. With this change, we add conditional compilation so that clients that want to avoid the call to terminate thread can do it by defining the appropriate preprocessor variable. git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@309 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix an AppVerifier STOP in OOP server code. In the destructor ofdoshimun2009-01-162-1/+22
| | | | | | | | the OOP server, we need to wait for any pending I/O to be done. git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@308 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix some typos in comments.doshimun2009-01-141-4/+4
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@307 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Minor fixes to windows exception handler.doshimun2009-01-142-15/+55
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@306 4c0a9323-5329-0410-9bdc-e9ce6186880e
* ExceptionHandler class is not handling initialization errors, such as themmentovai2008-12-031-8/+28
| | | | | | | | | | | | | handler thread not being created. Protect the exception handler against failure to create semaphores and a thread handle. Patch by Marc-André (MAD) Decoste, r=me http://code.google.com/p/google-breakpad/issues/detail?id=285 http://codereview.chromium.org/13065 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@300 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
* In the destructor of ClientInfo, currently the wait on the ↵doshimun2008-06-091-10/+10
| | | | | | | | | | | | | clent_crashed_event is unregistered after the handle is closed. MSDN clearly says that the behavior is undefined in this case. See http://msdn.microsoft.com/en-us/library/ms685061(VS.85).aspx This change contains the fix for that bug. See attched diff. git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@281 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Client process uptime is a very useful metric for crashes. Instead of each ↵doshimun2008-06-062-3/+42
| | | | | | | | | | | client process having to keep track of uptime and report it whenever a crash happens, integrate this feature into breakpad OOP code so that all clients get it for free. I tested this using the test app I have to test OOP stuff. git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@280 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix the following bug:doshimun2008-06-051-1/+1
| | | | | | | | | The sender updates the checkpoint file even when the report is not successfully sent. git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@278 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
* Microsoft broke PROCESS_ALL_ACCESS when we build with WINVER=0x600. See ↵doshimun2008-05-152-2/+2
| | | | | | | | | | | | | | | 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
* Replace the user of wcscpy_s with safe_wcscpy in ↵doshimun2008-05-085-7/+16
| | | | | | | | | | | | | | 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
* Some style guide compliance changes and changed the prototype of the method ↵doshimun2008-05-074-21/+25
| | | | | | to get custom client info in ClientInfo class. git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@270 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Add a convenience method to CustomClientInfo struct to set both name and ↵doshimun2008-05-051-0/+5
| | | | | | value in one call. git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@268 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Add a way for the client apps to specify custom information in case of ↵doshimun2008-05-0510-25/+187
| | | | | | | | | | | | | | 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