internal BoundBreakpoint(PendingBreakpoint parent, TupleValue bindinfo) { // CLRDBG TODO: Support clr addresses for breakpoints this.Addr = bindinfo.TryFindAddr("addr") ?? 0; this.FunctionName = bindinfo.TryFindString("func"); this.HitCount = 0; _parent = parent; _textPosition = MITextPosition.TryParse(bindinfo); }
private ThreadContext CreateContext(TupleValue frame) { ulong? pc = frame.TryFindAddr("addr"); MITextPosition textPosition = MITextPosition.TryParse(this._debugger, frame); string func = frame.TryFindString("func"); uint level = frame.FindUint("level"); string from = frame.TryFindString("from"); return(new ThreadContext(pc, textPosition, func, level, from)); }
} // name as it appears in the debug symbols internal BoundBreakpoint(PendingBreakpoint parent, TupleValue bindinfo) { // CLRDBG TODO: Support clr addresses for breakpoints this.Addr = bindinfo.TryFindAddr("addr") ?? 0; this.FunctionName = bindinfo.TryFindString("func"); this.Enabled = bindinfo.TryFindString("enabled") == "n" ? false : true; this.HitCount = 0; this.CompiledFileName = bindinfo.Contains("fullname") ? bindinfo.FindString("fullname") : bindinfo.TryFindString("file"); _parent = parent; _textPosition = MITextPosition.TryParse(parent.DebuggedProcess, bindinfo); }
internal BoundBreakpoint(PendingBreakpoint parent, ulong addr, /*optional*/ TupleValue frame) { Addr = addr; HitCount = 0; _parent = parent; if (frame != null) { this.FunctionName = frame.TryFindString("func"); _textPosition = MITextPosition.TryParse(frame); } }
internal BoundBreakpoint(PendingBreakpoint parent, ulong addr, /*optional*/ TupleValue frame, string bkptno) { Addr = addr; HitCount = 0; Enabled = true; this.Number = bkptno; _parent = parent; if (frame != null) { this.FunctionName = frame.TryFindString("func"); _textPosition = MITextPosition.TryParse(parent.DebuggedProcess, frame); } }
private ThreadContext CreateContext(TupleValue frame) { ulong?pc = frame.TryFindAddr("addr"); // don't report source line info for modules marked as IgnoreSource bool ignoreSource = false; if (pc != null) { var module = _debugger.FindModule(pc.Value); if (module != null && module.IgnoreSource) { ignoreSource = true; } } MITextPosition textPosition = !ignoreSource?MITextPosition.TryParse(this._debugger, frame) : null; string func = frame.TryFindString("func"); uint level = frame.FindUint("level"); string from = frame.TryFindString("from"); return(new ThreadContext(pc, textPosition, func, level, from)); }