public AD7BoundBreakpoint(AD7Engine engine, AD7PendingBreakpoint pendingBreakpoint, AD7BreakpointResolution breakpointResolution) { m_engine = engine; m_pendingBreakpoint = pendingBreakpoint; m_breakpointResolution = breakpointResolution; m_enabled = true; m_deleted = false; }
public int Bind() { IDebugDocumentPosition2 docPosition = (IDebugDocumentPosition2)(Marshal.GetObjectForIUnknown(m_bpRequestInfo.bpLocation.unionmember2)); string filename; docPosition.GetFileName(out filename); TEXT_POSITION[] startPosition = new TEXT_POSITION[1]; TEXT_POSITION[] endPosition = new TEXT_POSITION[1]; EngineUtils.CheckOk(docPosition.GetRange(startPosition, endPosition)); Command bpCommand = new BreakpointCommand(Path.GetFileName(filename), (int)startPosition[0].dwLine + 1); m_engine.EnqueueCommand(bpCommand); AD7DocumentContext docContext = new AD7DocumentContext(filename, startPosition[0], endPosition[0]); AD7BreakpointResolution breakpointResolution = new AD7BreakpointResolution(this.m_engine, docContext); AD7BoundBreakpoint boundBreakpoint = new AD7BoundBreakpoint(this.m_engine, this, breakpointResolution); string fileandline = Path.GetFileName(filename) + ((int)startPosition[0].dwLine + 1).ToString(); m_bpManager.StoreBoundBreakpoint(fileandline, boundBreakpoint); return VSConstants.S_OK; }