Browse Source

Forum-20456 (solodev): Only non-expired StackFrame can be selected.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@2808 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
David Srbecký 18 years ago
parent
commit
d6e6448464
  1. 3
      src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Debugger/Process-StateControl.cs
  2. 9
      src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Threads/Thread.cs

3
src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Debugger/Process-StateControl.cs

@ -151,16 +151,19 @@ namespace Debugger @@ -151,16 +151,19 @@ namespace Debugger
public void StepInto()
{
AssertPaused();
SelectedStackFrame.StepInto();
}
public void StepOver()
{
AssertPaused();
SelectedStackFrame.StepOver();
}
public void StepOut()
{
AssertPaused();
SelectedStackFrame.StepOut();
}
}

9
src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Threads/Thread.cs

@ -33,7 +33,7 @@ namespace Debugger @@ -33,7 +33,7 @@ namespace Debugger
bool hasExpired = false;
bool nativeThreadExited = false;
StackFrame selectedFunction;
StackFrame selectedStackFrame;
public event EventHandler Expired;
public event EventHandler<ThreadEventArgs> NativeThreadExited;
@ -265,14 +265,15 @@ namespace Debugger @@ -265,14 +265,15 @@ namespace Debugger
[Debugger.Tests.ToStringOnly]
public StackFrame SelectedStackFrame {
get {
return selectedFunction;
// Forum-20456: Do not return expired StackFrame
if (selectedStackFrame.HasExpired) return null;
return selectedStackFrame;
}
set {
if (value != null && !value.HasSymbols) {
throw new DebuggerException("SelectedFunction must have symbols");
}
selectedFunction = value;
selectedStackFrame = value;
}
}

Loading…
Cancel
Save