Browse Source

Fixed Forum-4943: Debugger says "Function has expired"

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@1115 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
David Srbecký 20 years ago
parent
commit
2fc99675ed
  1. 3
      src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Debugger/NDebugger.cs
  2. 13
      src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Threads/Function.cs

3
src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Debugger/NDebugger.cs

@ -212,6 +212,9 @@ namespace Debugger @@ -212,6 +212,9 @@ namespace Debugger
e.VariableCollection.UpdateTo(new Variable[] {}); // Make it empty
} else {
e.VariableCollection.UpdateTo(CurrentFunction.Variables);
CurrentFunction.Expired += delegate {
e.VariableCollection.UpdateTo(new Variable[] {});
};
}
}
}

13
src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Threads/Function.cs

@ -77,6 +77,18 @@ namespace Debugger @@ -77,6 +77,18 @@ namespace Debugger
return steppedOut || Module.Unloaded;
}
}
/// <summary>
/// Occurs when function expires and is no longer usable
/// </summary>
public event EventHandler Expired;
protected virtual void OnExpired(EventArgs e)
{
if (Expired != null) {
Expired(this, e);
}
}
public Value ThisValue {
get {
@ -111,6 +123,7 @@ namespace Debugger @@ -111,6 +123,7 @@ namespace Debugger
tracingStepper.PauseWhenComplete = false;
tracingStepper.StepComplete += delegate {
steppedOut = true;
OnExpired(EventArgs.Empty);
};
}

Loading…
Cancel
Save