internal void Send(IDebugEvent2 eventObject, string iidEvent, IDebugProgram2 program, IDebugThread2 thread) { LiveLogger.WriteLine("AD7Engine Event: {0} ({1})", eventObject.GetType(), iidEvent); // Check that events was not disposed var events = _events; if (events == null) { return; } uint attributes; var riidEvent = new Guid(iidEvent); EngineUtils.RequireOk(eventObject.GetAttributes(out attributes)); if ((attributes & (uint)enum_EVENTATTRIBUTES.EVENT_STOPPING) != 0 && thread == null) { Debug.Fail("A thread must be provided for a stopping event"); return; } try { EngineUtils.RequireOk(events.Event(this, null, program, thread, eventObject, ref riidEvent, attributes)); } catch (InvalidCastException) { // COM object has gone away } }
public int Event(IDebugEngine2 pEngine, IDebugProcess2 pProcess, IDebugProgram2 pProgram, IDebugThread2 pThread, IDebugEvent2 pEvent, ref Guid riidEvent, uint dwAttrib) { _taskContext.ThrowIfNotOnMainThread(); _logger.Trace($"Note right of VS: <IN> IDebugEventCallback2 {pEvent.GetType()}"); var result = _callback.Event(pEngine, pProcess, pProgram, pThread, pEvent, ref riidEvent, dwAttrib); _logger.Trace($"Note right of VS: <OUT> IDebugEventCallback2 {pEvent.GetType()}"); return(result); }
public int Event(IDebugEngine2 pEngine, IDebugProcess2 pProcess, IDebugProgram2 pProgram, IDebugThread2 pThread, IDebugEvent2 pEvent, ref Guid riidEvent, uint dwAttrib) { Trace.WriteLine($"VSFake: Received IDebugEvent2 {{type:\"{pEvent.GetType()}\", " + $"interfaces:{GetInteropInterfacesTrace(pEvent)}}}"); return(jobOrchestrator.HandleCallbackEvent(pEngine, pProcess, pProgram, pThread, pEvent)); }
public void Send(IDebugEvent2 eventObject, string iidEvent, IDebugProgram2 program, IDebugThread2 thread) { uint attributes; Guid riidEvent = new Guid(iidEvent); if (!(eventObject is AD7OutputDebugStringEvent)) { _engine.Logger.WriteLine("Send Event {0}", eventObject.GetType().Name); } EngineUtils.RequireOk(eventObject.GetAttributes(out attributes)); EngineUtils.RequireOk(_eventCallback.Event(_engine, null, program, thread, eventObject, ref riidEvent, attributes)); }
internal void Send(IDebugEvent2 eventObject, string iidEvent, IDebugProgram2 program, IDebugThread2 thread) { uint attributes; Guid riidEvent = new Guid(iidEvent); EngineUtils.RequireOk(eventObject.GetAttributes(out attributes)); Debug.WriteLine(String.Format("Sending Event: {0} {1}", eventObject.GetType(), iidEvent)); try { EngineUtils.RequireOk(_events.Event(this, null, program, thread, eventObject, ref riidEvent, attributes)); } catch (InvalidCastException) { // COM object has gone away } }
public int Event(IDebugEngine2 engine, IDebugProcess2 process, IDebugProgram2 program, IDebugThread2 thread, IDebugEvent2 debugEvent, ref Guid riidEvent, uint attributes) { System.Diagnostics.Debug.WriteLine(debugEvent.GetType()); if (debugEvent is IDebugBreakEvent2) { OnEnterBreakMode(this, thread); } else if (debugEvent is IDebugBreakpointEvent2) { OnEnterBreakMode(this, thread); } else if (debugEvent is IDebugExceptionEvent2) { OnEnterBreakMode(this, thread); } return(VSConstants.S_OK); }
internal void Send(IDebugEvent2 eventObject, string iidEvent, IDebugProgram2 program, IDebugThread2 thread) { uint attributes; Guid riidEvent = new Guid(iidEvent); EngineUtils.RequireOk(eventObject.GetAttributes(out attributes)); var events = _events; if (events == null) { // Probably racing with the end of the process. Debug.Fail("_events is null"); return; } Debug.WriteLine(String.Format("Sending Event: {0} {1}", eventObject.GetType(), iidEvent)); try { EngineUtils.RequireOk(events.Event(this, null, program, thread, eventObject, ref riidEvent, attributes)); } catch (InvalidCastException) { // COM object has gone away } }
public override string GetLogDetails() { return($"{{eventType:\"{_event.GetType()}\"}}"); }
internal void Send(IDebugEvent2 eventObject, string iidEvent, IDebugProgram2 program) { uint attributes; Guid riidEvent = new Guid(iidEvent); EngineUtils.RequireOk(eventObject.GetAttributes(out attributes)); Debug.WriteLine(string.Format("Sending Event: {0} {1}", eventObject.GetType(), iidEvent)); try { EngineUtils.RequireOk(events.Event(this, debugProcess, this, debugThread, eventObject, ref riidEvent, attributes)); } catch (InvalidCastException) { // COM object has gone away } }
public void Send(IDebugEvent2 eventObject, IDebugProgram2 program, IDebugThread2 thread) { uint attributes; var riidEvent = eventObject.GetType().GUID; EngineUtils.RequireOk(eventObject.GetAttributes(out attributes)); EngineUtils.RequireOk(m_ad7Callback.Event(m_engine, null, program, thread, eventObject, ref riidEvent, attributes)); }
public virtual string GetLogDetails() { return($"{{eventType:\"{evnt.GetType()}\"}}"); }