internal void AttachSession (DebuggerSession s, BreakEvent ev) { session = s; BreakEvent = ev; session.NotifyBreakEventStatusChanged (BreakEvent); if (adjustedLine != -1) session.AdjustBreakpointLocation ((Breakpoint)BreakEvent, adjustedLine); }
internal void AttachSession(DebuggerSession s, BreakEvent ev) { session = s; BreakEvent = ev; session.NotifyBreakEventStatusChanged(BreakEvent); if (adjustedLine != -1 || adjustedColumn != -1) { session.AdjustBreakpointLocation((Breakpoint)BreakEvent, adjustedLine, adjustedColumn); } }
/// <summary> /// Adjusts the location of a breakpoint /// </summary> /// <param name='newLine'> /// New line. /// </param> /// <remarks> /// This method can be used to temporarily change source code line of the breakpoint. /// This is useful, for example, when two adjacent lines are mapped to a single /// native offset. If the breakpoint is set to the first of those lines, the debugger /// might end stopping in the second line, because it has the same native offset. /// To avoid this confusion situation, the debugger implementation may decide to /// adjust the position of the breakpoint, and move it to the second line. /// This line adjustment has effect only during the debug session, and is automatically /// reset when it terminates. /// </remarks> public void AdjustBreakpointLocation(int newLine) { if (session != null) { session.AdjustBreakpointLocation((Breakpoint)BreakEvent, newLine); } else { adjustedLine = newLine; } }