public CallStackItem(FrameDebugInfo info) { Info = info; Location = info.Location; Name = info.FunctionSignature.Name; Namespace = info.FunctionSignature.Namespace; Params = $"({info.FunctionSignature.TypeSignature})"; }
public void Update(FrameDebugInfo info) { Frame = info; // Ideally this would only be triggered if the value of the frame // has changed, but it's a minor detail and requires value equality // for FrameDebugInfo, which is tricky since it depends on the // InstructionEnumerator. OnChanged(EventArgs.Empty); }
private void CheckFrameSelection(MemoryViewContext context) { if (context == null) { return; } CallStackItem item = (CallStackItem)FrameList.SelectedItem; if (item == null) { context.Update(context.Executor.Memory.FrameDebugInfo.Peek()); } else { FrameDebugInfo info = item.Info; context.Update(info); } UpdateVariablesView(context); }