static void OnTargetEvent(object sender, TargetEventArgs args) { if (args.BreakEvent != null && args.BreakEvent.NonUserBreakpoint) { return; } nextStatementLocations.Clear(); try { switch (args.Type) { case TargetEventType.TargetExited: Breakpoints.RemoveRunToCursorBreakpoints(); Cleanup(); break; case TargetEventType.TargetSignaled: case TargetEventType.TargetStopped: case TargetEventType.TargetHitBreakpoint: case TargetEventType.TargetInterrupted: case TargetEventType.UnhandledException: case TargetEventType.ExceptionThrown: Breakpoints.RemoveRunToCursorBreakpoints(); SetCurrentBacktrace(args.Backtrace); NotifyPaused(); NotifyException(args); break; } } catch (Exception ex) { LoggingService.LogError("Error handling debugger target event", ex); } }