This is driving me crazy. I’m working on a C# Forms application that is crashing for some reason when calling _documentList.Items.Clear();. For some reason, Visual Studio never catches the crash and it acts as if the application closed without any errors. I’m in the debugger stepping through line by line, and as soon as I hit the _documentList.Items.Clear();, the debugger stops and the form closes. Please help!
Edit: I’ve found why the app was crashing, but I’m still not sure why the debugger isn’t catching it. This should have been much easier to find than it was.
I was trying to update my GUI from a FileSystemWatcher event, so I had to use this.InvokeRequired and this.Invoke(). I’m no longer getting the crash, but I would still like to know why VS isn’t catching this in the debugger. My understanding is I should have been getting an exception with the message “Cross-thread operation not valid:”
It appears that this is a known issue and has been fixed when using Tasks in .NET 4.0. See this question (InvokeRequired Exception Handling) for more info.