private void DebuggingService_OnEngineReady(object sender, EventArgs e) { OnAdapterMessage?.Invoke(this, "Script ready, Waiting for debugger"); engineReadyEvent.Set(); if (waitForLaunch) { configurationDoneEvent.WaitOne(); } OnAdapterMessage?.Invoke(this, "Script continue running"); DebugAdapterStatus = DebugAdapterStatusEnum.Ready; }
private void DebuggingService_OnException(object sender, RuntimeException e) { if (!IsConnected) { debuggingService.Step(JavaScriptDiagStepType.JsDiagStepTypeContinue); return; } OnAdapterMessage?.Invoke(this, $"Exception occured at {e}"); SendEvent(new StoppedEvent(currentThread.id, "exception", e.ExceptionObject.Display)); DebugAdapterStatus = DebugAdapterStatusEnum.ExceptionOccured; }
private void DebuggingService_OnStepComplete(object sender, BreakPoint e) { if (!IsConnected) { debuggingService.Step(JavaScriptDiagStepType.JsDiagStepTypeContinue); return; } OnAdapterMessage?.Invoke(this, $"Step complete at {e}"); SendEvent(new StoppedEvent(currentThread.id, "step")); DebugAdapterStatus = DebugAdapterStatusEnum.StepComplete; }
private void DebuggingService_OnBreakPoint(object sender, BreakPoint e) { if (!IsConnected) { clearBreakpointOnScript(e.ScriptId); debuggingService.Step(JavaScriptDiagStepType.JsDiagStepTypeContinue); return; } OnAdapterMessage?.Invoke(this, $"Breakpoint hit at {e}"); SendEvent(new StoppedEvent(currentThread.id, "breakpoint", "breakpoint hit")); DebugAdapterStatus = DebugAdapterStatusEnum.BreakPointHit; }
public override void Disconnect(Response response, dynamic arguments) { switch (DebugAdapterStatus) { case DebugAdapterStatusEnum.BreakPointHit: case DebugAdapterStatusEnum.StepComplete: case DebugAdapterStatusEnum.AsyncBreakHit: case DebugAdapterStatusEnum.ExceptionOccured: debuggingService.Step(JavaScriptDiagStepType.JsDiagStepTypeContinue); DebugAdapterStatus = DebugAdapterStatusEnum.Ready; break; default: break; } SendOutput("Debugger disconnected, continue script execution"); IsConnected = false; OnAdapterMessage?.Invoke(this, "Disconnect"); }
private void DebuggingService_OnAsyncBreak(object sender, BreakPoint e) { if (!IsConnected) { debuggingService.Step(JavaScriptDiagStepType.JsDiagStepTypeContinue); return; } OnAdapterMessage?.Invoke(this, $"Async break at {e}"); if (postAsyncBreakAction != null)//event is triggered by Attach command { postAsyncBreakAction(); postAsyncBreakAction = null; } else { SendEvent(new StoppedEvent(currentThread.id, "async break")); } DebugAdapterStatus = DebugAdapterStatusEnum.AsyncBreakHit; }
public OnStatusChangArguments(DebugAdapterStatusEnum previous, DebugAdapterStatusEnum current) { Previous = previous; Current = current; }
public override void StepOut(Response response, dynamic arguments) { debuggingService.Step(JavaScriptDiagStepType.JsDiagStepTypeStepOut); SendResponse(response); DebugAdapterStatus = DebugAdapterStatusEnum.Ready; }