Browse Source

Fixed SD2-586: Debugger not going to source code line from callstack view

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@896 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
David Srbecký 20 years ago
parent
commit
2751bbcef8
  1. 4
      src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Service/WindowsDebugger.cs
  2. 12
      src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Variables/Evals/NDebugger-Evals.cs

4
src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Service/WindowsDebugger.cs

@ -414,7 +414,9 @@ namespace ICSharpCode.SharpDevelop.Services
void DebuggingResumed(object sender, DebuggerEventArgs e) void DebuggingResumed(object sender, DebuggerEventArgs e)
{ {
isProcessRunningCache = true; isProcessRunningCache = true;
DebuggerService.RemoveCurrentLineMarker(); if (!debugger.Evaluating) {
DebuggerService.RemoveCurrentLineMarker();
}
} }
public void JumpToCurrentLine() public void JumpToCurrentLine()

12
src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Variables/Evals/NDebugger-Evals.cs

@ -15,6 +15,7 @@ namespace Debugger
public partial class NDebugger public partial class NDebugger
{ {
List<Eval> pendingEvalsCollection = new List<Eval>(); List<Eval> pendingEvalsCollection = new List<Eval>();
bool evaluating = false;
public event EventHandler<EvalEventArgs> EvalAdded; public event EventHandler<EvalEventArgs> EvalAdded;
public event EventHandler<EvalEventArgs> EvalCompleted; public event EventHandler<EvalEventArgs> EvalCompleted;
@ -47,7 +48,14 @@ namespace Debugger
} }
} }
internal Eval GetEval(ICorDebugEval corEval) { public bool Evaluating {
get {
return evaluating;
}
}
internal Eval GetEval(ICorDebugEval corEval)
{
return pendingEvalsCollection.Find(delegate (Eval eval) {return eval.CorEval == corEval;}); return pendingEvalsCollection.Find(delegate (Eval eval) {return eval.CorEval == corEval;});
} }
@ -75,6 +83,7 @@ namespace Debugger
OnEvalCompleted(e); OnEvalCompleted(e);
if (pendingEvalsCollection.Count == 0) { if (pendingEvalsCollection.Count == 0) {
evaluating = false;
OnAllEvelsCompleted(new DebuggerEventArgs(this)); OnAllEvelsCompleted(new DebuggerEventArgs(this));
} }
} }
@ -102,6 +111,7 @@ namespace Debugger
// TODO: Investigate other threads, are they alowed to run? // TODO: Investigate other threads, are they alowed to run?
if (SetupNextEvaluation(CurrentThread)) { if (SetupNextEvaluation(CurrentThread)) {
evaluating = true;
this.Continue(); this.Continue();
return true; return true;
} else { } else {

Loading…
Cancel
Save