SourceSafe Web Interface (SSWI) and "How can I tell if my App Blew Up?"

Looks promising. Haven't tried it yet. Let me know if you have any feedback on it.


How can I tell if my App Blew Up (Unhandled Exception)

("What?", you say, "I never have unhandled exceptions in my applications!")

The AppDomain unloads when your app blows up because of an unhandled exception. But it also does this before everything goes into the Black Hole:

AppDomain domain = System.AppDomain.CurrentDomain ;
domain.UnhandledException+=new UnhandledExceptionEventHandler(domain_UnhandledException);

private static void domain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
EventLog evt = new EventLog() ;
evt.WriteEntry(e.ExceptionObject.ToString() ) ;

Unfortunately, in CLR 1.X this doesn't fire in the same AppDomain. You can try code like this, however:

AppDomain domain2 = AppDomain.CreateDomain("domain2");
domain2.CreateInstance("DomainLib", "YukkaPuk.ImaDweeb");

You can also set the following registry key:

to a DWORD of 0xFF00 or 0xFF02, which should force a JIT-attach dialog to come up and give you the opportunity to at least figure out what kind of exception this is. That would give you a starting point to figure out why your app is blowing up.

If you want to get ambitious, you can use the newest version of Microsoft's AD-Plus tool and the correct OS debug symbols, running in Crash mode, to dump out what blew up!

Finally, if all of the above really gets you confused, here's some great news on how to fold a T-Shirt!