My friend Jeff Berkowitz got nailed by the EnableVisualStyles bug in WinForms 1.1 that causes a weird SEHException when calling ShowDialog(). Jeff and his team really push WinForms to the limit and he finds some crazy stuff, including a scary Resource Naming problem in VS.NET 2003.
CLRSpy, Jeff Key, and Adam Nathan to the rescue though. Although Jeff had debugged the problem and figured it out himself, CLRSpy would see the as an error probe and break on it.
Adam suggests three possible workarounds:
- Disable the PInvoke Calling Convention Mismatch probe, or
- Uncheck "Break on Error Messages" in CLR SPY so you can ignore this message and not provoke the crash, or
- Use an XML manifest to enable XP themes, rather than using the EnableVisualStyles API.
Of course, using the manifest is the preferred method methinks.