Ejemplo n.º 1
0
 void Target_CallstackUpdate(Target sender, CallstackUpdateEventArgs args)
 {
     if (args.StackFrames.Length > 0)
     {
         mCurrentStack      = args.StackFrames;
         mCurrentStackFrame = args.StackFrames[args.CurrentFrame < args.StackFrames.Length ? args.CurrentFrame : 0];
         OnCurrentStackFrameChanged(mCurrentStackFrame, false);
     }
 }
Ejemplo n.º 2
0
        void target_CallstackUpdate(Target sender, CallstackUpdateEventArgs args)
        {
            // name (class::method) [C]
            // name (C function 0x00000000) [C]
            // name (file:line) [Lua]
            string languageExpr  = @"\[(?<language>\w*)\]";
            string detailsExpr   = @"(\((?<details>[^)]*)\))?";
            string nameExpr      = @"(?<name>\w*)?";
            Regex  functionRegex = new Regex(@"^" + nameExpr + @"\s*" + detailsExpr + @"\s*" + languageExpr + "$");

            callstackListView.Items.Clear();
            foreach (LuaStackFrame stackFrame in args.StackFrames)
            {
                string funcName = stackFrame.Function;
                string source   = stackFrame.File;
                string language = "?";
                string line     = stackFrame.Line.ToString();

                Match match = functionRegex.Match(stackFrame.Function);
                if (match.Success)
                {
                    string details = match.Groups["details"].Value;
                    funcName = match.Groups["name"].Value;
                    language = match.Groups["language"].Value;
                    if (funcName == "")
                    {
                        funcName = details;
                    }
                    if (language == "C" && details != "")
                    {
                        source = details;
                    }
                    if (language == "C")
                    {
                        line = "";
                    }
                }

                ListViewItem item = new ListViewItem(funcName);
                item.Tag = stackFrame;
                item.SubItems.Add(source);
                item.SubItems.Add(line);
                item.SubItems.Add(language);
                if (stackFrame == mDebugger.CurrentStackFrame)
                {
                    item.StateImageIndex = 0;
                }
                if (stackFrame.File.StartsWith("=[C]"))
                {
                    item.ForeColor = SystemColors.GrayText;
                }
                callstackListView.Items.Add(item);
            }
        }
Ejemplo n.º 3
0
 void realHost_CallstackUpdate(ITarget sender, CallstackUpdateEventArgs args)
 {
     if (mForm != null && mForm.IsHandleCreated)
     {
         mForm.BeginInvoke(new MethodInvoker(delegate()
         {
             if (this.CallstackUpdate != null)
             {
                 this.CallstackUpdate(this, args);
             }
         }));
     }
 }
Ejemplo n.º 4
0
		void target_CallstackUpdate(Target sender, CallstackUpdateEventArgs args)
		{
			// name (class::method) [C]
			// name (C function 0x00000000) [C]
			// name (file:line) [Lua]
			string languageExpr = @"\[(?<language>\w*)\]";
			string detailsExpr = @"(\((?<details>[^)]*)\))?";
			string nameExpr = @"(?<name>\w*)?";
			Regex functionRegex = new Regex(@"^" + nameExpr + @"\s*" + detailsExpr + @"\s*" + languageExpr + "$");

			callstackListView.Items.Clear();
			foreach(LuaStackFrame stackFrame in args.StackFrames)
			{
				string funcName = stackFrame.Function;
				string source = stackFrame.File;
				string language = "?";
				string line = stackFrame.Line.ToString();

				Match match = functionRegex.Match(stackFrame.Function);
				if(match.Success)
				{
					string details = match.Groups["details"].Value;
					funcName = match.Groups["name"].Value;
					language = match.Groups["language"].Value;
					if (funcName == "")
						funcName = details;
					if (language == "C" && details != "")
						source = details;
					if (language == "C")
						line = "";
				}

				ListViewItem item = new ListViewItem(funcName);
				item.Tag = stackFrame;
				item.SubItems.Add(source);
				item.SubItems.Add(line);
				item.SubItems.Add(language);
				if (stackFrame == mDebugger.CurrentStackFrame)
					item.StateImageIndex = 0;
				if (stackFrame.File.StartsWith("=[C]"))
					item.ForeColor = SystemColors.GrayText;
				callstackListView.Items.Add(item);
			}
		}
Ejemplo n.º 5
0
		void Target_CallstackUpdate(Target sender, CallstackUpdateEventArgs args)
		{
			if(args.StackFrames.Length > 0)
			{
				mCurrentStack = args.StackFrames;
				mCurrentStackFrame = args.StackFrames[args.CurrentFrame < args.StackFrames.Length ? args.CurrentFrame : 0];
				OnCurrentStackFrameChanged(mCurrentStackFrame, false);
			}
		}
Ejemplo n.º 6
0
		void realHost_CallstackUpdate(ITarget sender, CallstackUpdateEventArgs args)
		{
			if (mForm != null && mForm.IsHandleCreated)
				mForm.BeginInvoke(new MethodInvoker(delegate()
				{
					if (this.CallstackUpdate != null)
						this.CallstackUpdate(this, args);
				}));
		}
Ejemplo n.º 7
0
		void OnCallstackUpdate(CallstackUpdateEventArgs args)
		{
			if (mForm != null && mForm.IsHandleCreated)
				mForm.BeginInvoke(new MethodInvoker(delegate()
				{
					if (this.CallstackUpdate != null)
						this.CallstackUpdate(this, args);
				}));
		}