How to simulate a corrupt state exception in .NET 4?
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 } } Just dereference a