Esempio n. 1
0
        protected override void OnDebugServiceDataReady(object sender, SledDebugServiceEventArgs e)
        {
            var typeCode = (Scmp.LuaTypeCodes)e.Scmp.TypeCode;

            switch (typeCode)
            {
            //case Scmp.LuaTypeCodes.LuaVarUpvalueBegin:
            //    break;

            case Scmp.LuaTypeCodes.LuaVarUpvalue:
            {
                if (!LuaWatchedVariableService.ReceivingWatchedVariables)
                {
                    var upvalue = LuaVarScmpService.GetScmpBlobAsLuaUpvalueVar();
                    RemoteTargetCallStackUpvalue(upvalue);
                }
            }
            break;

            //case Scmp.LuaTypeCodes.LuaVarUpvalueEnd:
            //    break;

            case Scmp.LuaTypeCodes.LuaVarUpvalueLookupBegin:
                OnDebugServiceLookupBegin();
                break;

            case Scmp.LuaTypeCodes.LuaVarUpvalueLookupEnd:
                OnDebugServiceLookupEnd();
                break;
            }
        }
        protected override void OnDebugServiceDataReady(object sender, SledDebugServiceEventArgs e)
        {
            var typeCode = (Scmp.LuaTypeCodes)e.Scmp.TypeCode;

            switch (typeCode)
            {
            //case Scmp.LuaTypeCodes.LuaVarGlobalBegin:
            //    break;

            case Scmp.LuaTypeCodes.LuaVarGlobal:
            {
                if (!LuaWatchedVariableService.ReceivingWatchedVariables)
                {
                    var global = LuaVarScmpService.GetScmpBlobAsLuaGlobalVar();
                    RemoteTargetGlobalAdd(global);
                }
            }
            break;

            //case Scmp.LuaTypeCodes.LuaVarGlobalEnd:
            //    break;

            case Scmp.LuaTypeCodes.LuaVarGlobalLookupBegin:
                OnDebugServiceLookupBegin();
                break;

            case Scmp.LuaTypeCodes.LuaVarGlobalLookupEnd:
                OnDebugServiceLookupEnd();
                break;
            }
        }
        protected override void OnDebugServiceDataReady(object sender, SledDebugServiceEventArgs e)
        {
            var typeCode = (Scmp.LuaTypeCodes)e.Scmp.TypeCode;

            switch (typeCode)
            {
            //case Scmp.LuaTypeCodes.LuaVarEnvVarBegin:
            //    break;

            case Scmp.LuaTypeCodes.LuaVarEnvVar:
            {
                if (!LuaWatchedVariableService.ReceivingWatchedVariables)
                {
                    var envVar = LuaVarScmpService.GetScmpBlobAsLuaEnvironmentVar();
                    RemoteTargetCallStackEnvVar(envVar);
                }
            }
            break;

            //case Scmp.LuaTypeCodes.LuaVarEnvVarEnd:
            //    break;

            case Scmp.LuaTypeCodes.LuaVarEnvVarLookupBegin:
                OnDebugServiceLookupBegin();
                break;

            case Scmp.LuaTypeCodes.LuaVarEnvVarLookupEnd:
                OnDebugServiceLookupEnd();
                break;
            }
        }
        private void DebugServiceDisconnected(object sender, SledDebugServiceEventArgs e)
        {
            if (m_bProfilerRunning)
            {
                ToggleProfiler();
            }

            m_bProfilerEnabled = false;
        }
        protected virtual void OnDebugServiceDisconnected(object sender, SledDebugServiceEventArgs e)
        {
            // Clear GUI
            Editor.View = null;

            CleanupCollection();

            LookingUp = false;
            ListInsert.Clear();
            ListNameInsert.Clear();
            ListNameInsertDict.Clear();
        }
Esempio n. 6
0
        private void DebugServiceDataReady(object sender, SledDebugServiceEventArgs e)
        {
            var typeCode = (Scmp.LuaTypeCodes)e.Scmp.TypeCode;

            switch (typeCode)
            {
            case Scmp.LuaTypeCodes.LuaStateBegin:
                m_luaStatesCollection.ValidationBeginning();
                break;

            case Scmp.LuaTypeCodes.LuaStateAdd:
            {
                var scmp = m_debugService.GetScmpBlob <Scmp.LuaStateAdd>();

                var domNode = new DomNode(SledLuaSchema.SledLuaStateType.Type);

                var luaState = domNode.As <SledLuaStateType>();
                luaState.Address = scmp.Address;
                luaState.Name    = scmp.Name;
                luaState.Checked = scmp.Debugging == 1;

                m_luaStatesCollection.LuaStates.Add(luaState);
            }
            break;

            case Scmp.LuaTypeCodes.LuaStateRemove:
            {
                var scmp = m_debugService.GetScmpBlob <Scmp.LuaStateRemove>();

                var sentinel =
                    m_luaStatesCollection.LuaStates.FirstOrDefault(
                        luaState => string.Compare(luaState.Address, scmp.Address, StringComparison.Ordinal) == 0);

                if (sentinel != null)
                {
                    m_luaStatesCollection.LuaStates.Remove(sentinel);
                }
            }
            break;

            case Scmp.LuaTypeCodes.LuaStateEnd:
                m_luaStatesCollection.ValidationEnding();
                break;
            }
        }
Esempio n. 7
0
        private void DebugServiceDataReady(object sender, SledDebugServiceEventArgs e)
        {
            var typeCode = (TypeCodes)e.Scmp.TypeCode;

            switch (typeCode)
            {
            case TypeCodes.TtyBegin:
                HandleTtyBegin();
                break;

            case TypeCodes.Tty:
                HandleTty();
                break;

            case TypeCodes.TtyEnd:
                HandleTtyEnd();
                break;
            }
        }
        private void DebugServiceDataReady(object sender, SledDebugServiceEventArgs e)
        {
            var typeCode = (Scmp.LuaTypeCodes)e.Scmp.TypeCode;

            switch (typeCode)
            {
            case Scmp.LuaTypeCodes.LuaLimits:
            {
                var scmp = m_debugService.GetScmpBlob <Scmp.LuaLimits>();

                m_iMaxBreakpoints = scmp.MaxBreakpoints;

                SledOutDevice.OutLine(
                    SledMessageType.Info,
                    SledUtil.TransSub(
                        "[%s0] Maximum breakpoints set to %s1 on the target.",
                        m_luaLanguagePlugin.LanguageName, m_iMaxBreakpoints));
            }
            break;
            }
        }
Esempio n. 9
0
        private void DebugServiceDataReady(object sender, SledDebugServiceEventArgs e)
        {
            if (e.Scmp.TypeCode != (UInt16)TypeCodes.ScriptCache)
            {
                return;
            }

            var scriptCache = m_debugService.GetScmpBlob <ScriptCache>();

            var szAbsFilePath = SledUtil.GetAbsolutePath(scriptCache.RelScriptPath, m_projectService.AssetDirectory);

            if (!File.Exists(szAbsFilePath))
            {
                SledOutDevice.OutLine(
                    SledMessageType.Error,
                    SledUtil.TransSub(Localization.SledRemoteTargetErrorScriptCacheFileNotExist, scriptCache.RelScriptPath, szAbsFilePath));
            }
            else
            {
                SledProjectFilesFileType file;
                m_projectService.AddFile(szAbsFilePath, out file);
            }
        }
 private void DebugServiceDisconnected(object sender, SledDebugServiceEventArgs e)
 {
     StopTimer();
 }
 private void DebugServiceConnecting(object sender, SledDebugServiceEventArgs e)
 {
     StartTimer();
 }
Esempio n. 12
0
 private void DebugServiceDisconnected(object sender, SledDebugServiceEventArgs e)
 {
     ColorBreakpoints(false);
 }
 protected override void OnDebugServiceConnected(object sender, SledDebugServiceEventArgs e)
 {
     CreateGlobalsCollection();
 }
Esempio n. 14
0
        private void DebugServiceDataReady(object sender, SledDebugServiceEventArgs e)
        {
            var typeCode = (Scmp.LuaTypeCodes)e.Scmp.TypeCode;

            switch (typeCode)
            {
            case Scmp.LuaTypeCodes.LuaProfileInfoBegin:

                RemoteTargetProfileInfoNew();
                break;

            case Scmp.LuaTypeCodes.LuaProfileInfo:
            {
                var scmp =
                    m_debugService.GetScmpBlob <Scmp.LuaProfileInfo>();

                var domNode =
                    new DomNode(SledSchema.SledProfileInfoType.Type);

                var pi = domNode.As <SledProfileInfoType>();
                pi.Function         = m_luaFunctionParserService.Get.LookUpFunction(scmp.FunctionName);
                pi.TimeTotal        = scmp.FnTimeElapsed;
                pi.TimeAverage      = scmp.FnTimeElapsedAvg;
                pi.TimeMin          = scmp.FnTimeElapsedShortest;
                pi.TimeMax          = scmp.FnTimeElapsedLongest;
                pi.TimeTotalInner   = scmp.FnTimeInnerElapsed;
                pi.TimeAverageInner = scmp.FnTimeInnerElapsedAvg;
                pi.TimeMinInner     = scmp.FnTimeInnerElapsedShortest;
                pi.TimeMaxInner     = scmp.FnTimeInnerElapsedLongest;
                pi.NumCalls         = (int)scmp.FnCallCount;
                pi.Line             = scmp.FnLine;
                pi.File             = scmp.RelScriptPath.Replace(Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar).ToLower();
                pi.NumFuncsCalled   = scmp.FnCalls;
                pi.GenerateUniqueName();

                RemoteTargetProfileInfoAdd(pi);
                RemoteTargetProfileFuncCallAdd((SledProfileInfoType)pi.Clone());
            }
            break;

            case Scmp.LuaTypeCodes.LuaProfileInfoEnd:
                RemoteTargetProfileFuncCallEnd();
                break;

            //case Scmp.LuaTypeCodes.LuaProfileInfoLookupBegin:
            //    break;

            case Scmp.LuaTypeCodes.LuaProfileInfoLookup:
            {
                var scmp =
                    m_debugService.GetScmpBlob <Scmp.LuaProfileInfoLookup>();

                var domNode =
                    new DomNode(SledSchema.SledProfileInfoType.Type);

                var pi = domNode.As <SledProfileInfoType>();
                pi.Function         = m_luaFunctionParserService.Get.LookUpFunction(scmp.FunctionName);
                pi.TimeTotal        = scmp.FnTimeElapsed;
                pi.TimeAverage      = scmp.FnTimeElapsedAvg;
                pi.TimeMin          = scmp.FnTimeElapsedShortest;
                pi.TimeMax          = scmp.FnTimeElapsedLongest;
                pi.TimeTotalInner   = scmp.FnTimeInnerElapsed;
                pi.TimeAverageInner = scmp.FnTimeInnerElapsedAvg;
                pi.TimeMinInner     = scmp.FnTimeInnerElapsedShortest;
                pi.TimeMaxInner     = scmp.FnTimeInnerElapsedLongest;
                pi.NumCalls         = (int)scmp.FnCallCount;
                pi.Line             = scmp.FnLine;
                pi.File             = scmp.RelScriptPath.Replace(Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar).ToLower();
                pi.NumFuncsCalled   = scmp.FnCalls;
                pi.GenerateUniqueName();

                RemoteTargetProfileFuncCallLookUpAdd(pi);
            }
            break;

            case Scmp.LuaTypeCodes.LuaProfileInfoLookupEnd:
                RemoteTargetProfileLookUpFinished();
                break;

            case Scmp.LuaTypeCodes.LuaLimits:
            {
                var scmp = m_debugService.GetScmpBlob <Scmp.LuaLimits>();

                m_bProfilerEnabled = scmp.ProfilerEnabled;
                if (!m_bProfilerEnabled)
                {
                    SledOutDevice.OutLine(
                        SledMessageType.Info,
                        "[Lua] Profiler is disabled due to target settings.");
                }
            }
            break;
            }
        }
Esempio n. 15
0
 private void DebugServiceDisconnected(object sender, SledDebugServiceEventArgs e)
 {
     RemoveCurrentStatementIndicators();
     MarkProjectDocsReadOnly(false);
 }
Esempio n. 16
0
 private void DebugServiceDisconnected(object sender, SledDebugServiceEventArgs e)
 {
     StopHeartbeat();
 }
Esempio n. 17
0
 private void DebugServiceDisconnected(object sender, SledDebugServiceEventArgs e)
 {
     DestroyLuaStatesCollection();
 }
Esempio n. 18
0
 private void DebugServiceConnected(object sender, SledDebugServiceEventArgs e)
 {
     CreateLuaStatesCollection();
 }
        private void DebugService_PluginsReady(object sender, SledDebugServiceEventArgs e)
        {
            var dictBreakpoints =
                new Dictionary <ISledLanguagePlugin, List <SledProjectFilesBreakpointType> >();

            // Gather all breakpoints
            foreach (var projFile in m_projectService.AllFiles)
            {
                if (projFile.LanguagePlugin == null)
                {
                    continue;
                }

                // Add breakpoints under appropriate language plugin
                if (dictBreakpoints.ContainsKey(projFile.LanguagePlugin))
                {
                    // Add to existing
                    dictBreakpoints[projFile.LanguagePlugin].AddRange(projFile.Breakpoints);
                }
                else
                {
                    // Add to new
                    dictBreakpoints.Add(
                        projFile.LanguagePlugin,
                        new List <SledProjectFilesBreakpointType>(projFile.Breakpoints));
                }
            }

            var plugins =
                SledServiceInstance.GetAll <ISledBreakpointPlugin>();

            // Figure out if any breakpoints need to be removed due to hard limits in plugins
            foreach (var plugin in plugins)
            {
                // Iterate through checking with each language plugin
                foreach (var kv in dictBreakpoints)
                {
                    if (plugin != kv.Key)
                    {
                        continue;
                    }

                    // Get maximum number of breakpoints for this plugin
                    int maxBreakpoints;
                    if (plugin.TryGetMax(out maxBreakpoints))
                    {
                        // If over maximum number of breakpoints remove
                        // until equal to maximum number of breakpoints
                        if (kv.Value.Count > maxBreakpoints)
                        {
                            while (kv.Value.Count > maxBreakpoints)
                            {
                                if (kv.Value.Count <= 0)
                                {
                                    break;
                                }

                                // Arbitrarily removing breakpoint from the end of the list
                                var pos = kv.Value.Count - 1;
                                var bp  = kv.Value[pos];

                                try
                                {
                                    // Remove breakpoint from file
                                    m_bRemoving = true;
                                    bp.File.Breakpoints.Remove(bp);
                                }
                                finally
                                {
                                    m_bRemoving = false;
                                }

                                // Remove breakpoint from list
                                kv.Value.RemoveAt(pos);
                            }
                        }
                    }
                }
            }

            // Send breakpoints
            foreach (var kv in dictBreakpoints)
            {
                var enabledBps =
                    kv.Value.Where(bp => bp.Enabled);

                foreach (var bp in enabledBps)
                {
                    SendBreakpoint(bp);
                }
            }
        }
Esempio n. 20
0
 private void DebugServiceConnected(object sender, SledDebugServiceEventArgs e)
 {
     SendNetVarFilterState();
 }
Esempio n. 21
0
 private void DebugServiceDisconnected(object sender, SledDebugServiceEventArgs e)
 {
     InputEnabled = false;
 }
Esempio n. 22
0
 private void DebugServicePluginsReady(object sender, SledDebugServiceEventArgs e)
 {
     SledOutDevice.OutLine(SledMessageType.Info, "DebugService.PluginsReady");
 }
Esempio n. 23
0
        private void DebugServiceDataReady(object sender, SledDebugServiceEventArgs e)
        {
            var typeCode = (Scmp.LuaTypeCodes)e.Scmp.TypeCode;

            switch (typeCode)
            {
            case Scmp.LuaTypeCodes.LuaCallStackBegin:
                RemoteTargetCallStackClear();
                break;

            case Scmp.LuaTypeCodes.LuaCallStack:
            {
                var var = m_debugService.GetScmpBlob <Scmp.LuaCallStack>();

                var node = new DomNode(SledSchema.SledCallStackType.Type);

                var cs = node.As <SledCallStackType>();
                cs.File               = SledUtil.FixSlashes(var.RelScriptPath);
                cs.CurrentLine        = var.CurrentLine;
                cs.LineDefined        = var.LineDefined;
                cs.LineEnd            = var.LastLineDefined;
                cs.Function           = m_luaFunctionParserService.Value.LookUpFunction(var.FunctionName);
                cs.Level              = var.StackLevel;
                cs.NodeCanBeLookedUp  = true;
                cs.NodeNeedsLookedUp  = (cs.Level != 0);
                cs.IsCursorInFunction = (cs.Level == 0);

                RemoteTargetCallStackNew(cs);
            }
            break;

            case Scmp.LuaTypeCodes.LuaCallStackEnd:
                break;

            case Scmp.LuaTypeCodes.LuaCallStackLookupBegin:
                break;

            case Scmp.LuaTypeCodes.LuaCallStackLookup:
            {
                var scmp = m_debugService.GetScmpBlob <Scmp.LuaCallStackLookup>();

                int iLevel = scmp.StackLevel;

                // Save this so the call stack GUI knows where it is
                CurrentStackLevel = iLevel;

                // Find existing callstack entry at iLevel and update
                // it to not need to be looked up anymore
                m_callStackCollection.CallStack[iLevel].NodeNeedsLookedUp = false;
            }
            break;

            case Scmp.LuaTypeCodes.LuaCallStackLookupEnd:
            {
                var cssea = new SledLuaCallStackServiceEventArgs(PreviousStackLevel, CurrentStackLevel);

                // Fire event indicating stack level has finished being looked up
                StackLevelLookedUp.Raise(this, cssea);

                // Fire event indicating stack level has changed
                StackLevelChanged.Raise(this, cssea);
            }
            break;
            }
        }
Esempio n. 24
0
 private void DebugServiceDataReady(object sender, SledDebugServiceEventArgs e)
 {
     UpdateHeartbeat();
 }
Esempio n. 25
0
 private void DebugServiceDebugConnect(object sender, SledDebugServiceEventArgs e)
 {
     SaveOpenDocuments();
     MarkProjectDocsReadOnly(true);
 }
Esempio n. 26
0
 private void DebugServiceDebugConnect(object sender, SledDebugServiceEventArgs e)
 {
     SledOutDevice.OutLine(SledMessageType.Info, "DebugService.DebugConnect");
 }
Esempio n. 27
0
 private void DebugServiceError(object sender, SledDebugServiceEventArgs e)
 {
     SledOutDevice.OutLine(SledMessageType.Info, "DebugService.Error");
 }
        private void DebugServiceDataReady(object sender, SledDebugServiceEventArgs e)
        {
            var typeCode = (Scmp.LuaTypeCodes)e.Scmp.TypeCode;

            switch (typeCode)
            {
            //case Scmp.LuaTypeCodes.LuaMemoryTraceBegin:
            //    break;

            case Scmp.LuaTypeCodes.LuaMemoryTrace:
            {
                var scmp =
                    m_debugService.GetScmpBlob <Scmp.LuaMemoryTrace>();

                var chWhat = (char)scmp.What;

                RemoteTargetMemoryTraceStreamAdd(
                    Create(
                        chWhat,
                        scmp.OldSize,
                        scmp.NewSize,
                        scmp.OldPtr,
                        scmp.NewPtr));
            }
            break;

            //case Scmp.LuaTypeCodes.LuaMemoryTraceEnd:
            //    break;

            //case Scmp.LuaTypeCodes.LuaMemoryTraceStreamBegin:
            //    break;

            case Scmp.LuaTypeCodes.LuaMemoryTraceStream:
            {
                var scmp =
                    m_debugService.GetScmpBlob <Scmp.LuaMemoryTraceStream>();

                var chWhat = (char)scmp.What;

                RemoteTargetMemoryTraceStreamAdd(
                    Create(
                        chWhat,
                        scmp.OldSize,
                        scmp.NewSize,
                        scmp.OldPtr,
                        scmp.NewPtr));
            }
            break;

            //case Scmp.LuaTypeCodes.LuaMemoryTraceStreamEnd:
            //    break;

            case Scmp.LuaTypeCodes.LuaLimits:
            {
                var scmp =
                    m_debugService.GetScmpBlob <Scmp.LuaLimits>();

                m_bMemoryTracerEnabled = scmp.MemoryTracerEnabled;
                if (!m_bMemoryTracerEnabled)
                {
                    SledOutDevice.OutLine(
                        SledMessageType.Info,
                        "[Lua] Memory tracer is disabled due to target settings.");
                }
            }
            break;
            }
        }
Esempio n. 29
0
 private void DebugServiceDisconnected(object sender, SledDebugServiceEventArgs e)
 {
     RemoteTargetCallStackClear();
 }
Esempio n. 30
0
 private void DebugServiceDataReady(object sender, SledDebugServiceEventArgs e)
 {
     // Gets too spammy with this one
     //SledOutDevice.OutLine(SledMessageType.Info, "DebugService.DataReady");
 }