private static void RemoveBreakpoint(NuGenFunctionBreakpointInformation functionBreakpoint) { functionBreakpoint.State = BreakpointState.Removed; NuGenUIHandler.Instance.UpdateBreakpoint(functionBreakpoint.MethodDefinition, functionBreakpoint); NuGenProject.Instance.FunctionBreakpoints.Remove(functionBreakpoint); NuGenProject.Instance.IsSaved = false; }
public void UpdateBreakpoint(NuGenBreakpointInformation breakpointInformation) { NuGenFunctionBreakpointInformation functionBreakpointInformation = breakpointInformation as NuGenFunctionBreakpointInformation; if (!Window.IsDisposed && Window.Visible && functionBreakpointInformation != null) { Window.UpdateBreakpoint(functionBreakpointInformation); } }
private void RowDelete(GridEXRow row) { NuGenFunctionBreakpointInformation functionBreakpoint = NuGenHelperFunctions.TaggedObjects[(String)row.Cells[1].Value + (String)row.Cells[2].Value] as NuGenFunctionBreakpointInformation; if (functionBreakpoint != null) { RemoveBreakpoint(functionBreakpoint); } NuGenHelperFunctions.TaggedObjects.Remove((String)row.Cells[1].Value + (String)row.Cells[2].Value); }
private void RemoveBreakpointMenuItem_Click(object sender, EventArgs e) { if (breakpointsGrid.SelectedItems.Count == 1) { GridEXRow row = breakpointsGrid.SelectedItems[0].GetRow(); NuGenFunctionBreakpointInformation functionBreakpoint = NuGenHelperFunctions.TaggedObjects[(String)row.Cells[1].Value + (String)row.Cells[2].Value] as NuGenFunctionBreakpointInformation; if (functionBreakpoint != null) { RowDelete(breakpointsGrid.SelectedItems[0].GetRow()); breakpointsGrid.SelectedItems[0].GetRow().Delete(); } } }
private void DeactivateBreakpointMenuItem_Click(object sender, EventArgs e) { if (breakpointsGrid.SelectedItems.Count == 1) { GridEXRow row = breakpointsGrid.SelectedItems[0].GetRow(); NuGenFunctionBreakpointInformation functionBreakpoint = NuGenHelperFunctions.TaggedObjects[(String)row.Cells[1].Value + (String)row.Cells[2].Value] as NuGenFunctionBreakpointInformation; if (functionBreakpoint != null) { DeactivateBreakpoint(functionBreakpoint); NuGenUIHandler.Instance.UpdateBreakpoint(functionBreakpoint.MethodDefinition, functionBreakpoint); } } }
public void UpdateBreakpoint(NuGenFunctionBreakpointInformation breakpoint) { DisableRedraw(); int selectionStart = SelectionStart; int selectionLength = SelectionLength; RefreshBreakpoint(breakpoint); SelectionStart = selectionStart; SelectionLength = selectionLength; EnableRedraw(); Refresh(); }
public bool HasBreakpointsInMethod(NuGenMethodDefinition methodDefinition) { bool result = false; int index = 0; while (!result && index < FunctionBreakpoints.Count) { NuGenFunctionBreakpointInformation functionBreakpoint = FunctionBreakpoints[index++]; if (functionBreakpoint.MethodDefinition == methodDefinition) { result = true; } } return(result); }
public NuGenFunctionBreakpointInformation FindFunctionBreakpoint(NuGenMethodDefinition methodDefinition, uint offset) { NuGenFunctionBreakpointInformation result = null; int index = 0; while (result == null && index < NuGenProject.Instance.FunctionBreakpoints.Count) { NuGenFunctionBreakpointInformation functionBreakpoint = NuGenProject.Instance.FunctionBreakpoints[index++]; if (functionBreakpoint.MethodDefinition == methodDefinition && functionBreakpoint.Offset == offset) { result = functionBreakpoint; } } return(result); }
private void RefreshBreakpoint(NuGenFunctionBreakpointInformation breakpoint) { if (CurrentLine == null || breakpoint.Offset != CurrentLine.InstructionOffset) { int breakpointOffset = Convert.ToInt32(breakpoint.Offset); NuGenBreakpointLine breakpointLine = new NuGenBreakpointLine(breakpoint.State, breakpointOffset); string line; NuGenBaseILCode ilCode; int position = FindPositionOfILCodeByOffset(breakpointOffset, out line, out ilCode); if (ilCode != null) { SetLineColor(position, line, ilCode.Indentation, breakpointLine); } } }
public void RemoveAssemblyRelatedBreakpoints(NuGenAssembly assembly) { int index = 0; while (index < FunctionBreakpoints.Count) { NuGenFunctionBreakpointInformation breakpoint = FunctionBreakpoints[index]; if (breakpoint.MethodDefinition.BaseTypeDefinition.ModuleScope.Assembly == assembly) { breakpoint.Remove(); FunctionBreakpoints.Remove(breakpoint); NuGenUIHandler.Instance.RemoveBreakpoint(breakpoint); } else { index++; } } }
public void SetBreakpointAtSelection() { NuGenMethodDefinition methodDefinition = CodeObject as NuGenMethodDefinition; if (methodDefinition != null) { NuGenBaseILCode ilCode = FindILCodeByIndex(SelectionStart); if (ilCode != null) { NuGenFunctionBreakpointInformation breakpointInformation = NuGenBreakpointHandler.Instance.AddRemoveBreakpoint(methodDefinition, ilCode.Offset, false); if (breakpointInformation != null) { UpdateBreakpoint(breakpointInformation); NuGenProject.Instance.IsSaved = false; } } } }
private void AssociateBreakpointsWithMethods() { if (FunctionBreakpoints != null && FunctionBreakpoints.Count > 0 && Assemblies != null) { if (Assemblies.Count > 0) { int index = 0; while (index < FunctionBreakpoints.Count) { NuGenFunctionBreakpointInformation functionBreakpoint = FunctionBreakpoints[index]; if (functionBreakpoint.AssociateWithMethod()) { index++; } else { FunctionBreakpoints.Remove(functionBreakpoint); } } } else { FunctionBreakpoints.Clear(); } } if (RunToCursorBreakpoint != null) { if (!RunToCursorBreakpoint.AssociateWithMethod()) { RunToCursorBreakpoint.Remove(); RunToCursorBreakpoint = null; } } }
public void UpdateBreakpoint(NuGenFunctionBreakpointInformation breakpoint) { ilEditor.UpdateBreakpoint(breakpoint); }