diff --git a/src/OpenDebugAD7/AD7DebugSession.cs b/src/OpenDebugAD7/AD7DebugSession.cs index 8f106a637..d4c5cfbd0 100644 --- a/src/OpenDebugAD7/AD7DebugSession.cs +++ b/src/OpenDebugAD7/AD7DebugSession.cs @@ -1334,11 +1334,11 @@ protected override void HandleGotoRequestAsync(IRequestResponder } var builder = new ErrorBuilder(() => AD7Resources.Error_UnableToSetNextStatement); + IDebugThread2 thread = null; try { if (m_gotoCodeContexts.TryGetValue(responder.Arguments.TargetId, out IDebugCodeContext2 gotoTarget)) { - IDebugThread2 thread = null; lock (m_threads) { if (!m_threads.TryGetValue(responder.Arguments.ThreadId, out thread)) @@ -1352,9 +1352,11 @@ protected override void HandleGotoRequestAsync(IRequestResponder { m_isStopped = true; responder.SetError(new ProtocolException(e.Message)); + return; } responder.SetResponse(response); + FireStoppedEvent(thread, StoppedEvent.ReasonValue.Goto); } protected override void HandleGotoTargetsRequestAsync(IRequestResponder responder)