public AD7MemoryAddress(AD7Engine engine, string filename, uint lineno, PythonStackFrame frame = null) { _engine = engine; _lineNo = (uint)lineno; _filename = filename; var pos = new TEXT_POSITION { dwLine = lineno, dwColumn = 0 }; _documentContext = new AD7DocumentContext(filename, pos, pos, this, frame != null ? frame.Kind : FrameKind.None); }
public AD7StackFrame(AD7Engine engine, AD7Thread thread, PythonStackFrame threadContext) { _engine = engine; _thread = thread; _stackFrame = threadContext; _parameters = threadContext.Parameters.ToArray(); _locals = threadContext.Locals.ToArray(); }
public AD7BoundBreakpoint(AD7Engine engine, PythonBreakpoint address, AD7PendingBreakpoint pendingBreakpoint, AD7BreakpointResolution breakpointResolution, bool enabled) { _engine = engine; _breakpoint = address; _pendingBreakpoint = pendingBreakpoint; _breakpointResolution = breakpointResolution; _enabled = enabled; _deleted = false; }
public AD7PendingBreakpoint(IDebugBreakpointRequest2 pBPRequest, AD7Engine engine, BreakpointManager bpManager) { _bpRequest = pBPRequest; BP_REQUEST_INFO[] requestInfo = new BP_REQUEST_INFO[1]; EngineUtils.CheckOk(_bpRequest.GetRequestInfo(enum_BPREQI_FIELDS.BPREQI_BPLOCATION | enum_BPREQI_FIELDS.BPREQI_CONDITION | enum_BPREQI_FIELDS.BPREQI_ALLFIELDS, requestInfo)); _bpRequestInfo = requestInfo[0]; _engine = engine; _bpManager = bpManager; _boundBreakpoints = new System.Collections.Generic.List<AD7BoundBreakpoint>(); _enabled = true; _deleted = false; }
public AD7PendingBreakpoint(IDebugBreakpointRequest2 pBPRequest, AD7Engine engine, BreakpointManager bpManager) { _bpRequest = pBPRequest; BP_REQUEST_INFO[] requestInfo = new BP_REQUEST_INFO[1]; EngineUtils.CheckOk(_bpRequest.GetRequestInfo(enum_BPREQI_FIELDS.BPREQI_BPLOCATION | enum_BPREQI_FIELDS.BPREQI_CONDITION | enum_BPREQI_FIELDS.BPREQI_ALLFIELDS, requestInfo)); _bpRequestInfo = requestInfo[0]; _engine = engine; _bpManager = bpManager; _boundBreakpoints = new System.Collections.Generic.List <AD7BoundBreakpoint>(); _enabled = true; _deleted = false; }
public AD7MemoryAddress(AD7Engine engine, string filename, uint lineno, PythonStackFrame frame = null) { _engine = engine; _lineNo = (uint)lineno; _filename = filename; _frame = frame; var span = _engine.Process.GetStatementSpan(_filename, (int)_lineNo + 1, 0); var startPos = new TEXT_POSITION { dwLine = (uint)(span.Start.Line - 1), dwColumn = (uint)(span.Start.Column - 1) }; var endPos = new TEXT_POSITION { dwLine = (uint)(span.End.Line - 1), dwColumn = (uint)(span.End.Column - 1) }; _documentContext = new AD7DocumentContext(filename, startPos, endPos, this, frame != null ? frame.Kind : FrameKind.None); }
public AD7EngineEventArgs(AD7Engine engine) { _engine = engine; }
public BreakpointManager(AD7Engine engine) { m_engine = engine; m_pendingBreakpoints = new System.Collections.Generic.List<AD7PendingBreakpoint>(); }
public AD7MemoryAddress(AD7Engine engine, string filename, uint lineno, PythonStackFrame frame) : this(engine, filename, lineno) { _frame = frame; }
internal static void Send(AD7Engine engine) { AD7ProgramCreateEvent eventObject = new AD7ProgramCreateEvent(); engine.Send(eventObject, IID, null); }
AD7EngineCreateEvent(AD7Engine engine) { m_engine = engine; }
internal static void Send(AD7Engine engine) { var eventObject = new AD7LoadCompleteEvent(); engine.Send(eventObject, IID, null); }
public AD7Thread(AD7Engine engine, PythonThread debuggedThread) { _engine = engine; _debuggedThread = debuggedThread; }
public AD7BreakpointResolution(AD7Engine engine, PythonBreakpoint address, AD7DocumentContext documentContext) { m_engine = engine; m_address = address; m_documentContext = documentContext; }
// Compares the memory context to each context in the given array in the manner indicated by compare flags, // returning an index of the first context that matches. public int Compare(enum_CONTEXT_COMPARE uContextCompare, IDebugMemoryContext2[] compareToItems, uint compareToLength, out uint foundIndex) { foundIndex = uint.MaxValue; enum_CONTEXT_COMPARE contextCompare = (enum_CONTEXT_COMPARE)uContextCompare; for (uint c = 0; c < compareToLength; c++) { AD7MemoryAddress compareTo = compareToItems[c] as AD7MemoryAddress; if (compareTo == null) { continue; } if (!AD7Engine.ReferenceEquals(this._engine, compareTo._engine)) { continue; } bool result; switch (contextCompare) { case enum_CONTEXT_COMPARE.CONTEXT_EQUAL: result = (this._lineNo == compareTo._lineNo); break; case enum_CONTEXT_COMPARE.CONTEXT_LESS_THAN: result = (this._lineNo < compareTo._lineNo); break; case enum_CONTEXT_COMPARE.CONTEXT_GREATER_THAN: result = (this._lineNo > compareTo._lineNo); break; case enum_CONTEXT_COMPARE.CONTEXT_LESS_THAN_OR_EQUAL: result = (this._lineNo <= compareTo._lineNo); break; case enum_CONTEXT_COMPARE.CONTEXT_GREATER_THAN_OR_EQUAL: result = (this._lineNo >= compareTo._lineNo); break; case enum_CONTEXT_COMPARE.CONTEXT_SAME_SCOPE: case enum_CONTEXT_COMPARE.CONTEXT_SAME_FUNCTION: if (_frame != null) { result = compareTo._filename == _filename && (compareTo._lineNo + 1) >= _frame.StartLine && (compareTo._lineNo + 1) <= _frame.EndLine; } else if (compareTo._frame != null) { result = compareTo._filename == _filename && (_lineNo + 1) >= compareTo._frame.StartLine && (compareTo._lineNo + 1) <= compareTo._frame.EndLine; } else { result = this._lineNo == compareTo._lineNo && this._filename == compareTo._filename; } break; case enum_CONTEXT_COMPARE.CONTEXT_SAME_MODULE: result = _filename == compareTo._filename; break; case enum_CONTEXT_COMPARE.CONTEXT_SAME_PROCESS: result = true; break; default: // A new comparison was invented that we don't support return(VSConstants.E_NOTIMPL); } if (result) { foundIndex = c; return(VSConstants.S_OK); } } return(VSConstants.S_FALSE); }
internal static void Send(AD7Engine engine, IDebugThread2 thread) { var eventObject = new AD7LoadCompleteEvent(thread); engine.Send(eventObject, IID, thread); }
public static void Send(AD7Engine engine) { AD7EngineCreateEvent eventObject = new AD7EngineCreateEvent(engine); engine.Send(eventObject, IID, null, null); }
public AD7Thread(AD7Engine engine, PythonThread debuggedThread) { _engine = engine; _debuggedThread = debuggedThread; _vsTid = engine.RegisterThreadId(debuggedThread.Id); }
public AD7DebugExceptionEvent(AD7Engine engine, PythonException exception) { _engine = engine; _exception = exception; }
public BreakpointManager(AD7Engine engine) { m_engine = engine; m_pendingBreakpoints = new System.Collections.Generic.List <AD7PendingBreakpoint>(); }
public AD7MemoryAddress(AD7Engine engine, string filename, uint lineno) { _engine = engine; _lineNo = (uint)lineno; _filename = filename; }