Well, in .NET 4 Microsoft added the HandleProcessCorruptedStateExceptions attribute:
HandleProcessCorruptedStateExceptionsAttribute Class
I want to test this feature. How can I bring my application to a "corrupt state"?
Well, in .NET 4 Microsoft added the HandleProcessCorruptedStateExceptions attribute:
HandleProcessCorruptedStateExceptionsAttribute Class
I want to test this feature. How can I bring my application to a "corrupt state"?
Screwing up the garbage collected heap is always a good way:
using System;
using System.Runtime.InteropServices;
class Program {
unsafe static void Main(string[] args) {
var obj = new byte[1];
var pin = GCHandle.Alloc(obj, GCHandleType.Pinned);
byte* p = (byte*)pin.AddrOfPinnedObject();
for (int ix = 0; ix < 256; ++ix) *p-- = 0;
GC.Collect(); // kaboom
}
}