public override void Disconnect(Response response, dynamic args)
        {
            Log.Write($"UnityDebug: Disconnect: {args}");
            Log.Write($"UnityDebug: Disconnect: {response}");
            if (unityDebugConnector != null)
            {
                unityDebugConnector.OnDisconnect();
                unityDebugConnector = null;
            }

            lock (m_Lock)
            {
                if (m_Session != null)
                {
                    m_DebuggeeExecuting = true;
                    m_Breakpoints       = null;
                    m_Session.Breakpoints.Clear();
                    m_Session.Continue();
                    m_Session.Detach();
                    m_Session.Adaptor.Dispose();
                    m_Session = null;
                }
            }

            SendOutput("stdout", "UnityDebug: Disconnected");
            SetResponse(response);
        }
示例#2
0
        public static void Detach()
        {
            lock (_lock)
            {
                if (_session == null)
                {
                    return;
                }

                CommandLine.InferiorExecuting = true;

                if (!_session.IsConnected)
                {
                    _session.Detach();
                }

                _session.Dispose();
                _session = null;
            }
        }