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
public void StepInto() public void StepInto()
{ {
AssertPaused();
SelectedStackFrame.StepInto(); SelectedStackFrame.StepInto();
} }
public void StepOver() public void StepOver()
{ {
AssertPaused();
SelectedStackFrame.StepOver(); SelectedStackFrame.StepOver();
} }
public void StepOut() public void StepOut()
{ {
AssertPaused();
SelectedStackFrame.StepOut(); SelectedStackFrame.StepOut();
} }
} }

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

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

Loading…
Cancel
Save