Browse Source

Bugfix: Check function expiration in all callbacks with thread

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@1544 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
David Srbecký 19 years ago
parent
commit
e3c21ef729
  1. 5
      src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Debugger/Internal/ManagedCallback.cs

5
src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Debugger/Internal/ManagedCallback.cs

@ -71,6 +71,8 @@ namespace Debugger
{ {
EnterCallback(pausedReason, name, pThread.Process); EnterCallback(pausedReason, name, pThread.Process);
debugger.SelectedProcess.SelectedThread = debugger.GetThread(pThread); debugger.SelectedProcess.SelectedThread = debugger.GetThread(pThread);
// Remove expired functions from the callstack cache
debugger.SelectedProcess.SelectedThread.CheckExpirationOfFunctions();
} }
void ExitCallback_Continue() void ExitCallback_Continue()
@ -115,9 +117,6 @@ namespace Debugger
thread.Steppers.Remove(stepper); thread.Steppers.Remove(stepper);
stepper.OnStepComplete(); stepper.OnStepComplete();
// There is a race condition: The tracking step out can be triggered after stepping step over
thread.CheckExpirationOfFunctions();
if (stepper.PauseWhenComplete) { if (stepper.PauseWhenComplete) {
if (debugger.SelectedThread.LastFunction.HasSymbols) { if (debugger.SelectedThread.LastFunction.HasSymbols) {
ExitCallback_Paused(); ExitCallback_Paused();

Loading…
Cancel
Save