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); } }
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); } }
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); } })); } }
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); } }
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); } }
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); })); }
void OnCallstackUpdate(CallstackUpdateEventArgs args) { if (mForm != null && mForm.IsHandleCreated) mForm.BeginInvoke(new MethodInvoker(delegate() { if (this.CallstackUpdate != null) this.CallstackUpdate(this, args); })); }