[Mono-dev] Patch: implement mono_chain_signal for win32

Lucas Meijer lucas at lucasmeijer.com
Mon Dec 28 06:56:27 EST 2009


Attached is a patch with an implementation for signal chaining on 
windows. We use this to make crashes in the mono runtime, or (much more 
often :) ), crashes in the Unity host, properly trickle down to our 
toplevel excetion filter, which invokes our BugReporter appliaction, 
which allows the user to send us the details of the crash.

at a glance, the changes are:

- have mono_chain_signal, call the old toplevel exception filter.
- exception filters (signal handler on win32) actually have a 
returntype, so we store the result, and return that result from mono's 
toplevel exception handler.
- not pass EXCEPTION_RECORD*, but EXCEPTION_POINTERS*, as that is 
required to create a minidump file, which can later on be reconstructed 
to a stacktrace if the original .pdb's are still around.

I haven't been able to test the amd64 implementation.

Let me know if something would need to change for this to go into mainline.

Bye, Lucas
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: signal_chaining_win32.patch
Url: http://lists.ximian.com/pipermail/mono-devel-list/attachments/20091228/0d793529/attachment.pl 

More information about the Mono-devel-list mailing list