InvalidateAll() private method

private InvalidateAll ( ) : void
return void
Exemplo n.º 1
0
 static void NotifyCurrentFrameChanged()
 {
     if (currentBacktrace != null)
     {
         pinnedWatches.InvalidateAll();
     }
     if (CurrentFrameChanged != null)
     {
         CurrentFrameChanged(null, EventArgs.Empty);
     }
 }
Exemplo n.º 2
0
        static void Cleanup()
        {
            DebuggerSession currentSession;
            StatusBarIcon   currentIcon;
            IConsole        currentConsole;

            lock (cleanup_lock) {
                if (!IsDebugging)
                {
                    return;
                }

                currentIcon    = busyStatusIcon;
                currentSession = session;
                currentConsole = console;

                currentBacktrace = null;
                busyStatusIcon   = null;
                session          = null;
                console          = null;
                pinnedWatches.InvalidateAll();
            }

            if (oldLayout != null)
            {
                string layout = oldLayout;
                oldLayout = null;

                UnsetDebugLayout(layout);
            }

            currentSession.BusyStateChanged -= OnBusyStateChanged;
            currentSession.TargetEvent      -= OnTargetEvent;
            currentSession.TargetStarted    -= OnStarted;

            currentSession.BreakpointTraceHandler = null;
            currentSession.GetExpressionEvaluator = null;
            currentSession.TypeResolverHandler    = null;
            currentSession.OutputWriter           = null;
            currentSession.LogWriter = null;

            if (currentConsole != null)
            {
                currentConsole.CancelRequested -= OnCancelRequested;
                currentConsole.Dispose();
            }

            DispatchService.GuiDispatch(delegate {
                HideExceptionCaughtDialog();

                if (currentIcon != null)
                {
                    currentIcon.Dispose();
                    currentIcon = null;
                }

                if (StoppedEvent != null)
                {
                    StoppedEvent(null, new EventArgs());
                }

                NotifyCallStackChanged();
                NotifyCurrentFrameChanged();
                NotifyLocationChanged();
            });

            currentSession.Dispose();
        }
Exemplo n.º 3
0
        static void Cleanup()
        {
            DebuggerSession  currentSession;
            StatusBarIcon    currentIcon;
            OperationConsole currentConsole;

            lock (cleanup_lock) {
                if (!IsDebugging)
                {
                    return;
                }

                currentIcon    = busyStatusIcon;
                currentSession = session;
                currentConsole = console;

                nextStatementLocations.Clear();
                currentBacktrace = null;
                busyStatusIcon   = null;
                session          = null;
                console          = null;
                pinnedWatches.InvalidateAll();
            }

            UnsetDebugLayout();

            currentSession.BusyStateChanged -= OnBusyStateChanged;
            currentSession.TargetEvent      -= OnTargetEvent;
            currentSession.TargetStarted    -= OnStarted;

            currentSession.BreakpointTraceHandler = null;
            currentSession.GetExpressionEvaluator = null;
            currentSession.TypeResolverHandler    = null;
            currentSession.OutputWriter           = null;
            currentSession.LogWriter = null;
            currentDebugOperation.Cleanup();

            if (currentConsole != null)
            {
                cancelRegistration.Dispose();
                currentConsole.Dispose();
            }

            Runtime.RunInMainThread(delegate {
                HideExceptionCaughtDialog();

                if (currentIcon != null)
                {
                    currentIcon.Dispose();
                    currentIcon = null;
                }

                if (StoppedEvent != null)
                {
                    StoppedEvent(null, new EventArgs());
                }

                NotifyCallStackChanged();
                NotifyCurrentFrameChanged();
                NotifyLocationChanged();
            });

            currentSession.Dispose();
        }