internal BreakpointHandle ResolveBreakpoint(Breakpoint breakpoint) { if (!module.IsLoaded) return null; if ((function == null) && (source == null)) { if (file != null) { source = file.FindMethod (line); } else { throw new TargetException (TargetError.LocationInvalid); } if ((source != null) && source.IsManaged) function = source.Function; } if (function != null) return function.GetBreakpointHandle (breakpoint, line, column); if ((source == null) || source.IsManaged) throw new TargetException (TargetError.LocationInvalid); TargetAddress address = GetAddress (); if (!address.IsNull) return new AddressBreakpointHandle (breakpoint, address); return null; }
private void OnBreakpointHit(Breakpoint pointFromDbg, StackFrame frame) { string[] toks = pointFromDbg.Name.Split (':'); string filename = toks [0]; int linenumber = Int32.Parse (toks [1]); if (this.BreakpointHit == null) return; BreakpointHitArgs args = new BreakpointHitArgs (filename, linenumber); if (BreakpointHit != null) BreakpointHit (this, args); }
internal BreakpointHandle ResolveBreakpoint(DebuggerSession session, Breakpoint breakpoint) { if (!Resolve (session)) throw new TargetException (TargetError.LocationInvalid); return dynamic.ResolveBreakpoint (breakpoint); }