diff --git a/src/AddIns/Debugger/Debugger.Core/Process.cs b/src/AddIns/Debugger/Debugger.Core/Process.cs index 6ae85168fd..d322a3e566 100644 --- a/src/AddIns/Debugger/Debugger.Core/Process.cs +++ b/src/AddIns/Debugger/Debugger.Core/Process.cs @@ -345,9 +345,9 @@ namespace Debugger // if CurrentException is set an exception has occurred. if (SelectedThread.CurrentException != null) { ExceptionEventArgs args = new ExceptionEventArgs(this, this.SelectedThread.CurrentException, this.SelectedThread.CurrentExceptionType, this.SelectedThread.CurrentExceptionIsUnhandled); + OnExceptionThrown(args); // clear exception, it is being processed by the debugger. this.SelectedThread.CurrentException = null; - OnExceptionThrown(args); // The event could have resumed or killed the process if (this.IsRunning || this.TerminateCommandIssued || this.HasExited) return; } diff --git a/src/AddIns/Debugger/Debugger.Core/Thread.cs b/src/AddIns/Debugger/Debugger.Core/Thread.cs index e8e35c89a1..b731e8020e 100644 --- a/src/AddIns/Debugger/Debugger.Core/Thread.cs +++ b/src/AddIns/Debugger/Debugger.Core/Thread.cs @@ -206,7 +206,6 @@ namespace Debugger { if (!(this.CorThread is ICorDebugThread2)) return false; // Is the debuggee .NET 2.0? if (this.CorThread.GetCurrentException() == null) return false; // Is there any exception - if (this.currentException == null) return false; if (this.MostRecentStackFrame == null) return false; // Is frame available? It is not at StackOverflow // Intercepting an exception on an optimized/NGENed frame seems to sometimes