Browse Source

All properties called HasExited renamed to some more descriptive name.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@3170 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
David Srbecký 17 years ago
parent
commit
a29e114ca0
  1. 8
      src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Pads/CallStackPad.cs
  2. 4
      src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Pads/LocalVarPad.cs
  3. 4
      src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Pads/RunningThreadsPad.cs
  4. 4
      src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Service/WindowsDebugger.cs
  5. 2
      src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/TreeModel/Adapters/DynamicTreeDebuggerRow.cs
  6. 4
      src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/TreeModel/Adapters/TreeViewVarNode.cs
  7. 13
      src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/TreeModel/Utils.cs
  8. 1
      src/AddIns/Misc/Debugger/Debugger.Core/Project/Debugger.Core.csproj
  9. 20
      src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Control/Process-StateControl.cs
  10. 20
      src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Control/Process.cs
  11. 12
      src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Control/StackFrame.cs
  12. 2
      src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Control/Thread.cs
  13. 30
      src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Debugger/DebuggeeState.cs
  14. 18
      src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Debugger/IExpirable.cs
  15. 30
      src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Debugger/PauseSession.cs
  16. 4
      src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Expressions/Expression.cs
  17. 2
      src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Internal/ManagedCallback.cs
  18. 2
      src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Internal/ManagedCallbackSwitch.cs
  19. 2
      src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Metadata/DebugType.cs
  20. 10
      src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Values/Value.cs
  21. 4
      src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/DebuggerTestsBase.cs
  22. 14
      src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/ArrayValue.cs
  23. 12
      src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Callstack.cs
  24. 28
      src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/FunctionArgumentVariables.cs
  25. 28
      src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/FunctionLifetime.cs
  26. 10
      src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/FunctionLocalVariables.cs
  27. 340
      src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/FunctionVariablesLifetime.cs
  28. 52
      src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Generics.cs
  29. 8
      src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/PrimitiveValue.cs
  30. 2
      src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/StackOverflow.cs
  31. 2
      src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/ValueType.cs

8
src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Pads/CallStackPad.cs

@ -133,12 +133,12 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads
using(new PrintTimes("Callstack refresh")) { using(new PrintTimes("Callstack refresh")) {
try { try {
Utils.DoEvents(debuggedProcess.DebuggeeState); Utils.DoEvents(debuggedProcess);
List<ListViewItem> items = CreateItems(); List<ListViewItem> items = CreateItems();
UpdateItems(items); UpdateItems(items);
} catch(AbortedBecauseDebuggeeResumedException) { } catch(AbortedBecauseDebuggeeResumedException) {
} catch(System.Exception) { } catch(System.Exception) {
if (debuggedProcess == null || debuggedProcess.HasExpired) { if (debuggedProcess == null || debuggedProcess.HasExited) {
// Process unexpectedly exited // Process unexpectedly exited
} else { } else {
throw; throw;
@ -170,7 +170,7 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads
item.ForeColor = frame.HasSymbols ? Color.Black : Color.Gray; item.ForeColor = frame.HasSymbols ? Color.Black : Color.Gray;
items.Add(item); items.Add(item);
Utils.DoEvents(debuggedProcess.DebuggeeState); Utils.DoEvents(debuggedProcess);
} }
return items; return items;
@ -193,7 +193,7 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads
callStackList.Items[i].Tag = items[i].Tag; callStackList.Items[i].Tag = items[i].Tag;
callStackList.Items[i].ForeColor = items[i].ForeColor; callStackList.Items[i].ForeColor = items[i].ForeColor;
Utils.DoEvents(debuggedProcess.DebuggeeState); Utils.DoEvents(debuggedProcess);
} }
callStackList.EndUpdate(); callStackList.EndUpdate();
} }

4
src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Pads/LocalVarPad.cs

@ -234,11 +234,11 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads
using(new PrintTimes("Local Variables refresh")) { using(new PrintTimes("Local Variables refresh")) {
try { try {
localVarList.BeginUpdate(); localVarList.BeginUpdate();
Utils.DoEvents(debuggedProcess.DebuggeeState); Utils.DoEvents(debuggedProcess);
TreeViewVarNode.SetContentRecursive(debuggedProcess, LocalVarList, new StackFrameNode(debuggedProcess.SelectedStackFrame).ChildNodes); TreeViewVarNode.SetContentRecursive(debuggedProcess, LocalVarList, new StackFrameNode(debuggedProcess.SelectedStackFrame).ChildNodes);
} catch(AbortedBecauseDebuggeeResumedException) { } catch(AbortedBecauseDebuggeeResumedException) {
} catch(System.Exception) { } catch(System.Exception) {
if (debuggedProcess == null || debuggedProcess.HasExpired) { if (debuggedProcess == null || debuggedProcess.HasExited) {
// Process unexpectedly exited // Process unexpectedly exited
} else { } else {
throw; throw;

4
src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Pads/RunningThreadsPad.cs

@ -130,13 +130,13 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads
try { try {
foreach (Thread t in debuggedProcess.Threads) { foreach (Thread t in debuggedProcess.Threads) {
if (debuggedProcess.IsPaused) { if (debuggedProcess.IsPaused) {
Utils.DoEvents(debuggedProcess.DebuggeeState); Utils.DoEvents(debuggedProcess);
} }
RefreshThread(t); RefreshThread(t);
} }
} catch(AbortedBecauseDebuggeeResumedException) { } catch(AbortedBecauseDebuggeeResumedException) {
} catch(System.Exception) { } catch(System.Exception) {
if (debuggedProcess == null || debuggedProcess.HasExpired) { if (debuggedProcess == null || debuggedProcess.HasExited) {
// Process unexpectedly exited // Process unexpectedly exited
} else { } else {
throw; throw;

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

@ -510,7 +510,7 @@ namespace ICSharpCode.SharpDevelop.Services
if (currentTooltipRow != null && currentTooltipRow.IsShown) { if (currentTooltipRow != null && currentTooltipRow.IsShown) {
using(new PrintTimes("Update tooltip")) { using(new PrintTimes("Update tooltip")) {
try { try {
Utils.DoEvents(debuggedProcess.DebuggeeState); Utils.DoEvents(debuggedProcess);
AbstractNode updatedNode = ValueNode.Create(currentTooltipExpression); AbstractNode updatedNode = ValueNode.Create(currentTooltipExpression);
currentTooltipRow.SetContentRecursive(updatedNode); currentTooltipRow.SetContentRecursive(updatedNode);
} catch (AbortedBecauseDebuggeeResumedException) { } catch (AbortedBecauseDebuggeeResumedException) {
@ -555,7 +555,7 @@ namespace ICSharpCode.SharpDevelop.Services
DebuggerEventForm.Result result = DebuggerEventForm.Show(title, message, icon, canContinue); DebuggerEventForm.Result result = DebuggerEventForm.Show(title, message, icon, canContinue);
// If the process was killed while the exception form was shown // If the process was killed while the exception form was shown
if (e.Process.HasExpired) return; if (e.Process.HasExited) return;
switch (result) { switch (result) {
case DebuggerEventForm.Result.Break: case DebuggerEventForm.Result.Break:

2
src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/TreeModel/Adapters/DynamicTreeDebuggerRow.cs

@ -83,7 +83,7 @@ namespace Debugger.AddIn.TreeModel
} }
// Repaint and process user commands // Repaint and process user commands
Utils.DoEvents(process.DebuggeeState); Utils.DoEvents(process);
} }
public void SetChildContentRecursive(IEnumerable<AbstractNode> contentEnum) public void SetChildContentRecursive(IEnumerable<AbstractNode> contentEnum)

4
src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/TreeModel/Adapters/TreeViewVarNode.cs

@ -87,13 +87,13 @@ namespace Debugger.AddIn.TreeModel
this.Collapse(); this.Collapse();
} }
// Process user commands // Process user commands
Utils.DoEvents(process.DebuggeeState); Utils.DoEvents(process);
// Repaint // Repaint
if (HighPrecisionTimer.Now > nextRepaintTime) { if (HighPrecisionTimer.Now > nextRepaintTime) {
using(new PrintTime("Repainting Local Variables Pad")) { using(new PrintTime("Repainting Local Variables Pad")) {
try { try {
this.Tree.EndUpdate(); // Enable painting this.Tree.EndUpdate(); // Enable painting
Utils.DoEvents(process.DebuggeeState); // Paint Utils.DoEvents(process); // Paint
} finally { } finally {
this.Tree.BeginUpdate(); // Disable painting this.Tree.BeginUpdate(); // Disable painting
nextRepaintTime = HighPrecisionTimer.Now + workTime; nextRepaintTime = HighPrecisionTimer.Now + workTime;

13
src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/TreeModel/Utils.cs

@ -17,19 +17,16 @@ namespace Debugger.AddIn.TreeModel
{ {
public static partial class Utils public static partial class Utils
{ {
public static void DoEvents(DebuggeeState debuggeeState) /// <param name="process">Process on which to track debuggee state</param>
public static void DoEvents(Process process)
{ {
if (debuggeeState == null) { DebuggeeState oldState = process.DebuggeeState;
throw new ArgumentNullException();
}
if (debuggeeState.HasExpired) {
throw new System.Exception("State is expired before DoEvents");
}
//using(new PrintTimes("Application.DoEvents()")) //using(new PrintTimes("Application.DoEvents()"))
{ {
Application.DoEvents(); Application.DoEvents();
} }
if (debuggeeState.HasExpired) { DebuggeeState newState = process.DebuggeeState;
if (oldState != newState) {
LoggingService.Info("Aborted because debuggee resumed"); LoggingService.Info("Aborted because debuggee resumed");
throw new AbortedBecauseDebuggeeResumedException(); throw new AbortedBecauseDebuggeeResumedException();
} }

1
src/AddIns/Misc/Debugger/Debugger.Core/Project/Debugger.Core.csproj

@ -60,7 +60,6 @@
<Compile Include="Src\Debugger\DebuggerObject.cs" /> <Compile Include="Src\Debugger\DebuggerObject.cs" />
<Compile Include="Src\Debugger\Exception.cs" /> <Compile Include="Src\Debugger\Exception.cs" />
<Compile Include="Src\Debugger\ExceptionType.cs" /> <Compile Include="Src\Debugger\ExceptionType.cs" />
<Compile Include="Src\Debugger\IExpirable.cs" />
<Compile Include="Src\Debugger\PausedReason.cs" /> <Compile Include="Src\Debugger\PausedReason.cs" />
<Compile Include="Src\Debugger\PauseSession.cs" /> <Compile Include="Src\Debugger\PauseSession.cs" />
<Compile Include="Src\Debugger\SourcecodeSegment.cs" /> <Compile Include="Src\Debugger\SourcecodeSegment.cs" />

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

@ -83,7 +83,7 @@ namespace Debugger
internal void NotifyPaused(PausedReason pauseReason) internal void NotifyPaused(PausedReason pauseReason)
{ {
AssertRunning(); AssertRunning();
pauseSession = new PauseSession(pauseReason); pauseSession = new PauseSession(this, pauseReason);
if (debuggeeState == null) { if (debuggeeState == null) {
debuggeeState = new DebuggeeState(this); debuggeeState = new DebuggeeState(this);
} }
@ -93,14 +93,10 @@ namespace Debugger
internal void NotifyResumed(DebuggeeStateAction action) internal void NotifyResumed(DebuggeeStateAction action)
{ {
AssertPaused(); AssertPaused();
PauseSession oldPauseSession = pauseSession;
pauseSession = null; pauseSession = null;
oldPauseSession.NotifyHasExpired();
if (action == DebuggeeStateAction.Clear) { if (action == DebuggeeStateAction.Clear) {
if (debuggeeState == null) throw new DebuggerException("Debugee state already cleared"); if (debuggeeState == null) throw new DebuggerException("Debugee state already cleared");
DebuggeeState oldDebugeeState = debuggeeState;
debuggeeState = null; debuggeeState = null;
oldDebugeeState.NotifyHasExpired();
} }
} }
@ -116,7 +112,7 @@ namespace Debugger
// The event could have resumed or killed the process // The event could have resumed or killed the process
} }
if (this.IsPaused && !this.HasExpired) { if (this.IsPaused && !this.HasExited) {
OnPaused(); OnPaused();
// The event could have resumed the process // The event could have resumed the process
} }
@ -192,7 +188,7 @@ namespace Debugger
NotifyPaused(PausedReason.ForcedBreak); NotifyPaused(PausedReason.ForcedBreak);
} }
corProcess.Detach(); corProcess.Detach();
NotifyHasExpired(); NotifyHasExited();
} }
#region Convenience methods #region Convenience methods
@ -288,24 +284,24 @@ namespace Debugger
/// </summary> /// </summary>
public void WaitForPause() public void WaitForPause()
{ {
while(this.IsRunning && !this.HasExpired) { while(this.IsRunning && !this.HasExited) {
debugger.MTA2STA.WaitForCall(); debugger.MTA2STA.WaitForCall();
debugger.MTA2STA.PerformAllCalls(); debugger.MTA2STA.PerformAllCalls();
} }
if (this.HasExpired) throw new ProcessExitedException(); if (this.HasExited) throw new ProcessExitedException();
} }
public void WaitForPause(TimeSpan timeout) public void WaitForPause(TimeSpan timeout)
{ {
DateTime endTime = Util.HighPrecisionTimer.Now + timeout; DateTime endTime = Util.HighPrecisionTimer.Now + timeout;
while(this.IsRunning && !this.HasExpired) { while(this.IsRunning && !this.HasExited) {
TimeSpan timeLeft = endTime - Util.HighPrecisionTimer.Now; TimeSpan timeLeft = endTime - Util.HighPrecisionTimer.Now;
if (timeLeft <= TimeSpan.FromMilliseconds(10)) break; if (timeLeft <= TimeSpan.FromMilliseconds(10)) break;
//this.TraceMessage("Time left: " + timeLeft.TotalMilliseconds); //this.TraceMessage("Time left: " + timeLeft.TotalMilliseconds);
debugger.MTA2STA.WaitForCall(timeLeft); debugger.MTA2STA.WaitForCall(timeLeft);
debugger.MTA2STA.PerformCall(); debugger.MTA2STA.PerformCall();
} }
if (this.HasExpired) throw new ProcessExitedException(); if (this.HasExited) throw new ProcessExitedException();
} }
/// <summary> /// <summary>
@ -313,7 +309,7 @@ namespace Debugger
/// </summary> /// </summary>
public void WaitForExit() public void WaitForExit()
{ {
while(!this.HasExpired) { while(!this.HasExited) {
debugger.MTA2STA.WaitForCall(); debugger.MTA2STA.WaitForCall();
debugger.MTA2STA.PerformAllCalls(); debugger.MTA2STA.PerformAllCalls();
} }

20
src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Control/Process.cs

@ -12,7 +12,7 @@ using Debugger.Wrappers.CorDebug;
namespace Debugger namespace Debugger
{ {
public partial class Process: DebuggerObject, IExpirable public partial class Process: DebuggerObject
{ {
NDebugger debugger; NDebugger debugger;
@ -21,22 +21,22 @@ namespace Debugger
#region IExpirable #region IExpirable
bool hasExpired = false; bool hasExited = false;
public event EventHandler Expired; public event EventHandler Exited;
public bool HasExpired { public bool HasExited {
get { get {
return hasExpired; return hasExited;
} }
} }
internal void NotifyHasExpired() internal void NotifyHasExited()
{ {
if(!hasExpired) { if(!hasExited) {
hasExpired = true; hasExited = true;
if (Expired != null) { if (Exited != null) {
Expired(this, new ProcessEventArgs(this)); Exited(this, new ProcessEventArgs(this));
} }
// Expire pause seesion first // Expire pause seesion first
if (IsPaused) { if (IsPaused) {

12
src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Control/StackFrame.cs

@ -70,8 +70,9 @@ namespace Debugger
} }
} }
/// <summary> True if stack frame stepped out and is not longer valid. </summary> /// <summary> Returns true is this incance can not be used any more.
public bool HasExpired { /// Stack frame is valid only until the debugee is resumed. </summary>
public bool IsInvalid {
get { get {
return this.corILFramePauseSession != process.PauseSession; return this.corILFramePauseSession != process.PauseSession;
} }
@ -102,7 +103,7 @@ namespace Debugger
internal ICorDebugILFrame CorILFrame { internal ICorDebugILFrame CorILFrame {
get { get {
if (HasExpired) throw new DebuggerException("StackFrame has expired"); if (this.IsInvalid) throw new DebuggerException("StackFrame is not valid anymore");
return corILFrame; return corILFrame;
} }
} }
@ -251,7 +252,6 @@ namespace Debugger
ICorDebugValue GetThisCorValue() ICorDebugValue GetThisCorValue()
{ {
if (this.MethodInfo.IsStatic) throw new GetValueException("Static method does not have 'this'."); if (this.MethodInfo.IsStatic) throw new GetValueException("Static method does not have 'this'.");
if (this.HasExpired) throw new GetValueException("StackFrame has expired");
try { try {
return CorILFrame.GetArgument(0); return CorILFrame.GetArgument(0);
} catch (COMException e) { } catch (COMException e) {
@ -282,8 +282,6 @@ namespace Debugger
ICorDebugValue GetArgumentCorValue(int index) ICorDebugValue GetArgumentCorValue(int index)
{ {
if (this.HasExpired) throw new GetValueException("StackFrame has expired");
try { try {
// Non-static methods include 'this' as first argument // Non-static methods include 'this' as first argument
return CorILFrame.GetArgument((uint)(this.MethodInfo.IsStatic? index : (index + 1))); return CorILFrame.GetArgument((uint)(this.MethodInfo.IsStatic? index : (index + 1)));
@ -326,8 +324,6 @@ namespace Debugger
ICorDebugValue GetLocalVariableCorValue(ISymUnmanagedVariable symVar) ICorDebugValue GetLocalVariableCorValue(ISymUnmanagedVariable symVar)
{ {
if (this.HasExpired) throw new GetValueException("StackFrame has expired");
try { try {
return CorILFrame.GetLocalVariable((uint)symVar.AddressField1); return CorILFrame.GetLocalVariable((uint)symVar.AddressField1);
} catch (COMException e) { } catch (COMException e) {

2
src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Control/Thread.cs

@ -320,7 +320,7 @@ namespace Debugger
public StackFrame SelectedStackFrame { public StackFrame SelectedStackFrame {
get { get {
if (selectedStackFrame != null && selectedStackFrame.HasExpired) return null; if (selectedStackFrame != null && selectedStackFrame.IsInvalid) return null;
if (process.IsRunning) return null; if (process.IsRunning) return null;
return selectedStackFrame; return selectedStackFrame;
} }

30
src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Debugger/DebuggeeState.cs

@ -10,15 +10,17 @@ using System;
namespace Debugger namespace Debugger
{ {
/// <summary> /// <summary>
/// Unique identifier of the state of the debugee. /// Represents span of time in which the debugger state is assumed to
/// Changes when debuggee is stepped, but not when properity is evaluated. /// be unchanged.
/// </summary> /// </summary>
public class DebuggeeState: IExpirable /// <remarks>
/// For example, althogh property evaluation can in theory change
/// any memory, it is assumed that they behave 'corectly' and thus
/// property evaluation does not change debugger state.
/// </remarks>
public class DebuggeeState: DebuggerObject
{ {
Process process; Process process;
bool hasExpired = false;
public event EventHandler Expired;
[Debugger.Tests.Ignore] [Debugger.Tests.Ignore]
public Process Process { public Process Process {
@ -27,22 +29,6 @@ namespace Debugger
} }
} }
public bool HasExpired {
get {
return hasExpired;
}
}
internal void NotifyHasExpired()
{
if(!hasExpired) {
hasExpired = true;
if (Expired != null) {
Expired(this, EventArgs.Empty);
}
}
}
public DebuggeeState(Process process) public DebuggeeState(Process process)
{ {
this.process = process; this.process = process;

18
src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Debugger/IExpirable.cs

@ -1,18 +0,0 @@
// <file>
// <copyright see="prj:///doc/copyright.txt"/>
// <license see="prj:///doc/license.txt"/>
// <owner name="David Srbecký" email="dsrbecky@gmail.com"/>
// <version>$Revision$</version>
// </file>
using System;
namespace Debugger
{
public interface IExpirable
{
event EventHandler Expired;
bool HasExpired { get ; }
}
}

30
src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Debugger/PauseSession.cs

@ -13,38 +13,22 @@ namespace Debugger
/// Holds information about the state of paused debugger. /// Holds information about the state of paused debugger.
/// Expires when when Continue is called on debugger. /// Expires when when Continue is called on debugger.
/// </summary> /// </summary>
public class PauseSession: IExpirable public class PauseSession: DebuggerObject
{ {
Process process;
PausedReason pausedReason; PausedReason pausedReason;
bool hasExpired = false; public Process Process {
get { return process; }
public event EventHandler Expired;
public bool HasExpired {
get {
return hasExpired;
}
}
internal void NotifyHasExpired()
{
if(!hasExpired) {
hasExpired = true;
if (Expired != null) {
Expired(this, EventArgs.Empty);
}
}
} }
public PausedReason PausedReason { public PausedReason PausedReason {
get { get { return pausedReason; }
return pausedReason;
}
} }
public PauseSession(PausedReason pausedReason) public PauseSession(Process process, PausedReason pausedReason)
{ {
this.process = process;
this.pausedReason = pausedReason; this.pausedReason = pausedReason;
} }
} }

4
src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Expressions/Expression.cs

@ -56,7 +56,7 @@ namespace Debugger.Expressions
} }
if (expressionCache.ContainsKey(this)) { if (expressionCache.ContainsKey(this)) {
Value cachedResult = expressionCache[this]; Value cachedResult = expressionCache[this];
if (!cachedResult.HasExpired) { if (!cachedResult.IsInvalid) {
return cachedResult; return cachedResult;
} }
} }
@ -66,7 +66,7 @@ namespace Debugger.Expressions
public Value Evaluate(StackFrame context) public Value Evaluate(StackFrame context)
{ {
if (context == null) throw new ArgumentNullException("context"); if (context == null) throw new ArgumentNullException("context");
if (context.HasExpired) throw new DebuggerException("Context is expired StackFrame"); if (context.IsInvalid) throw new DebuggerException("The context is no longer valid");
Value result; Value result;

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

@ -407,7 +407,7 @@ namespace Debugger
// ExitProcess may be called at any time when debuggee is killed // ExitProcess may be called at any time when debuggee is killed
process.TraceMessage("Callback: ExitProcess"); process.TraceMessage("Callback: ExitProcess");
process.NotifyHasExpired(); process.NotifyHasExited();
} }
#endregion #endregion

2
src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Internal/ManagedCallbackSwitch.cs

@ -55,7 +55,7 @@ namespace Debugger
public ManagedCallback GetProcessCallbackInterface(ICorDebugProcess pProcess) public ManagedCallback GetProcessCallbackInterface(ICorDebugProcess pProcess)
{ {
Process process = debugger.GetProcess(pProcess); Process process = debugger.GetProcess(pProcess);
if (process == null || process.HasExpired) { if (process == null || process.HasExited) {
debugger.TraceMessage("Ignoring callback of exited process (process not found)"); debugger.TraceMessage("Ignoring callback of exited process (process not found)");
return null; return null;
} }

2
src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Metadata/DebugType.cs

@ -386,7 +386,7 @@ namespace Debugger.MetaData
type.LoadMemberInfo(); type.LoadMemberInfo();
} }
typesWithMatchingName.Add(type); typesWithMatchingName.Add(type);
type.Process.Expired += delegate { typesWithMatchingName.Remove(type); }; type.Process.Exited += delegate { typesWithMatchingName.Remove(type); };
TimeSpan totalTime2 = Util.HighPrecisionTimer.Now - startTime; TimeSpan totalTime2 = Util.HighPrecisionTimer.Now - startTime;
string prefix = type.IsInterface ? "interface" : "type"; string prefix = type.IsInterface ? "interface" : "type";

10
src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Values/Value.cs

@ -61,9 +61,9 @@ namespace Debugger
} }
} }
/// <summary> Returns true if the Value has expired /// <summary> Returns true if the Value can not be used anymore.
/// and can not be used anymore </summary> /// Value is valid only until the debuggee is resummed. </summary>
public bool HasExpired { public bool IsInvalid {
get { get {
return rawCorValue_pauseSession != process.PauseSession && return rawCorValue_pauseSession != process.PauseSession &&
!rawCorValue.Is<ICorDebugHandleValue>(); !rawCorValue.Is<ICorDebugHandleValue>();
@ -72,7 +72,7 @@ namespace Debugger
internal ICorDebugValue RawCorValue { internal ICorDebugValue RawCorValue {
get { get {
if (this.HasExpired) throw new GetValueException("Value has expired"); if (this.IsInvalid) throw new GetValueException("Value is no longer valid");
return rawCorValue; return rawCorValue;
} }
@ -80,7 +80,7 @@ namespace Debugger
internal ICorDebugValue CorValue { internal ICorDebugValue CorValue {
get { get {
if (this.HasExpired) throw new GetValueException("Value has expired"); if (this.IsInvalid) throw new GetValueException("Value is no longer valid");
if (corValue_pauseSession != process.PauseSession) { if (corValue_pauseSession != process.PauseSession) {
corValue = DereferenceUnbox(rawCorValue); corValue = DereferenceUnbox(rawCorValue);

4
src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/DebuggerTestsBase.cs

@ -73,7 +73,7 @@ namespace Debugger.Tests
protected void EndTest() protected void EndTest()
{ {
if (!process.HasExpired) { if (!process.HasExited) {
process.AsyncContinue(); process.AsyncContinue();
process.WaitForExit(); process.WaitForExit();
} }
@ -156,7 +156,7 @@ namespace Debugger.Tests
process.ExceptionThrown += delegate(object sender, ExceptionEventArgs e) { process.ExceptionThrown += delegate(object sender, ExceptionEventArgs e) {
LogEvent("ExceptionThrown", e.Exception.Message); LogEvent("ExceptionThrown", e.Exception.Message);
}; };
process.Expired += delegate(object sender, EventArgs e) { process.Exited += delegate(object sender, EventArgs e) {
LogEvent("ProcessExited", null); LogEvent("ProcessExited", null);
}; };

14
src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/ArrayValue.cs

@ -62,9 +62,9 @@ namespace Debugger.Tests {
ArrayRank="1" ArrayRank="1"
AsString="{System.Int32[]}" AsString="{System.Int32[]}"
Expression="array" Expression="array"
HasExpired="False"
IsArray="True" IsArray="True"
IsInteger="False" IsInteger="False"
IsInvalid="False"
IsNull="False" IsNull="False"
IsObject="False" IsObject="False"
IsPrimitive="False" IsPrimitive="False"
@ -79,9 +79,9 @@ namespace Debugger.Tests {
ArrayRank="{Exception: Value is not an array}" ArrayRank="{Exception: Value is not an array}"
AsString="0" AsString="0"
Expression="array[0]" Expression="array[0]"
HasExpired="False"
IsArray="False" IsArray="False"
IsInteger="True" IsInteger="True"
IsInvalid="False"
IsNull="False" IsNull="False"
IsObject="False" IsObject="False"
IsPrimitive="True" IsPrimitive="True"
@ -95,9 +95,9 @@ namespace Debugger.Tests {
ArrayRank="{Exception: Value is not an array}" ArrayRank="{Exception: Value is not an array}"
AsString="1" AsString="1"
Expression="array[1]" Expression="array[1]"
HasExpired="False"
IsArray="False" IsArray="False"
IsInteger="True" IsInteger="True"
IsInvalid="False"
IsNull="False" IsNull="False"
IsObject="False" IsObject="False"
IsPrimitive="True" IsPrimitive="True"
@ -111,9 +111,9 @@ namespace Debugger.Tests {
ArrayRank="{Exception: Value is not an array}" ArrayRank="{Exception: Value is not an array}"
AsString="2" AsString="2"
Expression="array[2]" Expression="array[2]"
HasExpired="False"
IsArray="False" IsArray="False"
IsInteger="True" IsInteger="True"
IsInvalid="False"
IsNull="False" IsNull="False"
IsObject="False" IsObject="False"
IsPrimitive="True" IsPrimitive="True"
@ -127,9 +127,9 @@ namespace Debugger.Tests {
ArrayRank="{Exception: Value is not an array}" ArrayRank="{Exception: Value is not an array}"
AsString="3" AsString="3"
Expression="array[3]" Expression="array[3]"
HasExpired="False"
IsArray="False" IsArray="False"
IsInteger="True" IsInteger="True"
IsInvalid="False"
IsNull="False" IsNull="False"
IsObject="False" IsObject="False"
IsPrimitive="True" IsPrimitive="True"
@ -143,9 +143,9 @@ namespace Debugger.Tests {
ArrayRank="{Exception: Value is not an array}" ArrayRank="{Exception: Value is not an array}"
AsString="4" AsString="4"
Expression="array[4]" Expression="array[4]"
HasExpired="False"
IsArray="False" IsArray="False"
IsInteger="True" IsInteger="True"
IsInvalid="False"
IsNull="False" IsNull="False"
IsObject="False" IsObject="False"
IsPrimitive="True" IsPrimitive="True"
@ -212,9 +212,9 @@ namespace Debugger.Tests {
ArrayRank="{Exception: Value is not an array}" ArrayRank="{Exception: Value is not an array}"
AsString="5" AsString="5"
Expression="array.Length" Expression="array.Length"
HasExpired="False"
IsArray="False" IsArray="False"
IsInteger="True" IsInteger="True"
IsInvalid="False"
IsNull="False" IsNull="False"
IsObject="False" IsObject="False"
IsPrimitive="True" IsPrimitive="True"

12
src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Callstack.cs

@ -63,8 +63,8 @@ namespace Debugger.Tests {
<StackFrame <StackFrame
ArgumentCount="0" ArgumentCount="0"
Depth="0" Depth="0"
HasExpired="False"
HasSymbols="True" HasSymbols="True"
IsInvalid="False"
MethodInfo="Sub2" MethodInfo="Sub2"
NextStatement="Callstack.cs:26,4-26,40" /> NextStatement="Callstack.cs:26,4-26,40" />
</Item> </Item>
@ -72,8 +72,8 @@ namespace Debugger.Tests {
<StackFrame <StackFrame
ArgumentCount="0" ArgumentCount="0"
Depth="1" Depth="1"
HasExpired="False"
HasSymbols="True" HasSymbols="True"
IsInvalid="False"
MethodInfo="Sub1" MethodInfo="Sub1"
NextStatement="Callstack.cs:21,4-21,11" /> NextStatement="Callstack.cs:21,4-21,11" />
</Item> </Item>
@ -81,8 +81,8 @@ namespace Debugger.Tests {
<StackFrame <StackFrame
ArgumentCount="0" ArgumentCount="0"
Depth="2" Depth="2"
HasExpired="False"
HasSymbols="True" HasSymbols="True"
IsInvalid="False"
MethodInfo="Main" MethodInfo="Main"
NextStatement="Callstack.cs:16,4-16,11" /> NextStatement="Callstack.cs:16,4-16,11" />
</Item> </Item>
@ -93,8 +93,8 @@ namespace Debugger.Tests {
<StackFrame <StackFrame
ArgumentCount="0" ArgumentCount="0"
Depth="0" Depth="0"
HasExpired="False"
HasSymbols="True" HasSymbols="True"
IsInvalid="False"
MethodInfo="Sub1" MethodInfo="Sub1"
NextStatement="Callstack.cs:21,4-21,11" /> NextStatement="Callstack.cs:21,4-21,11" />
</Item> </Item>
@ -102,8 +102,8 @@ namespace Debugger.Tests {
<StackFrame <StackFrame
ArgumentCount="0" ArgumentCount="0"
Depth="1" Depth="1"
HasExpired="False"
HasSymbols="True" HasSymbols="True"
IsInvalid="False"
MethodInfo="Main" MethodInfo="Main"
NextStatement="Callstack.cs:16,4-16,11" /> NextStatement="Callstack.cs:16,4-16,11" />
</Item> </Item>
@ -114,8 +114,8 @@ namespace Debugger.Tests {
<StackFrame <StackFrame
ArgumentCount="0" ArgumentCount="0"
Depth="0" Depth="0"
HasExpired="False"
HasSymbols="True" HasSymbols="True"
IsInvalid="False"
MethodInfo="Main" MethodInfo="Main"
NextStatement="Callstack.cs:16,4-16,11" /> NextStatement="Callstack.cs:16,4-16,11" />
</Item> </Item>

28
src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/FunctionArgumentVariables.cs

@ -102,9 +102,9 @@ namespace Debugger.Tests {
ArrayRank="{Exception: Value is not an array}" ArrayRank="{Exception: Value is not an array}"
AsString="1" AsString="1"
Expression="i" Expression="i"
HasExpired="False"
IsArray="False" IsArray="False"
IsInteger="True" IsInteger="True"
IsInvalid="False"
IsNull="False" IsNull="False"
IsObject="False" IsObject="False"
IsPrimitive="True" IsPrimitive="True"
@ -118,9 +118,9 @@ namespace Debugger.Tests {
ArrayRank="{Exception: Value is not an array}" ArrayRank="{Exception: Value is not an array}"
AsString="A" AsString="A"
Expression="s" Expression="s"
HasExpired="False"
IsArray="False" IsArray="False"
IsInteger="False" IsInteger="False"
IsInvalid="False"
IsNull="False" IsNull="False"
IsObject="False" IsObject="False"
IsPrimitive="True" IsPrimitive="True"
@ -134,9 +134,9 @@ namespace Debugger.Tests {
ArrayRank="{Exception: Value is not an array}" ArrayRank="{Exception: Value is not an array}"
AsString="null" AsString="null"
Expression="s_null" Expression="s_null"
HasExpired="False"
IsArray="False" IsArray="False"
IsInteger="False" IsInteger="False"
IsInvalid="False"
IsNull="True" IsNull="True"
IsObject="False" IsObject="False"
IsPrimitive="False" IsPrimitive="False"
@ -150,9 +150,9 @@ namespace Debugger.Tests {
ArrayRank="{Exception: Value is not an array}" ArrayRank="{Exception: Value is not an array}"
AsString="2" AsString="2"
Expression="ref_i" Expression="ref_i"
HasExpired="False"
IsArray="False" IsArray="False"
IsInteger="True" IsInteger="True"
IsInvalid="False"
IsNull="False" IsNull="False"
IsObject="False" IsObject="False"
IsPrimitive="True" IsPrimitive="True"
@ -166,9 +166,9 @@ namespace Debugger.Tests {
ArrayRank="{Exception: Value is not an array}" ArrayRank="{Exception: Value is not an array}"
AsString="3" AsString="3"
Expression="out_i" Expression="out_i"
HasExpired="False"
IsArray="False" IsArray="False"
IsInteger="True" IsInteger="True"
IsInvalid="False"
IsNull="False" IsNull="False"
IsObject="False" IsObject="False"
IsPrimitive="True" IsPrimitive="True"
@ -182,9 +182,9 @@ namespace Debugger.Tests {
ArrayRank="{Exception: Value is not an array}" ArrayRank="{Exception: Value is not an array}"
AsString="0" AsString="0"
Expression="out_i2" Expression="out_i2"
HasExpired="False"
IsArray="False" IsArray="False"
IsInteger="True" IsInteger="True"
IsInvalid="False"
IsNull="False" IsNull="False"
IsObject="False" IsObject="False"
IsPrimitive="True" IsPrimitive="True"
@ -198,9 +198,9 @@ namespace Debugger.Tests {
ArrayRank="{Exception: Value is not an array}" ArrayRank="{Exception: Value is not an array}"
AsString="B" AsString="B"
Expression="ref_s" Expression="ref_s"
HasExpired="False"
IsArray="False" IsArray="False"
IsInteger="False" IsInteger="False"
IsInvalid="False"
IsNull="False" IsNull="False"
IsObject="False" IsObject="False"
IsPrimitive="True" IsPrimitive="True"
@ -214,9 +214,9 @@ namespace Debugger.Tests {
ArrayRank="{Exception: Value is not an array}" ArrayRank="{Exception: Value is not an array}"
AsString="{System.Nullable&lt;System.Int32&gt;}" AsString="{System.Nullable&lt;System.Int32&gt;}"
Expression="iNull" Expression="iNull"
HasExpired="False"
IsArray="False" IsArray="False"
IsInteger="False" IsInteger="False"
IsInvalid="False"
IsNull="False" IsNull="False"
IsObject="True" IsObject="True"
IsPrimitive="False" IsPrimitive="False"
@ -230,9 +230,9 @@ namespace Debugger.Tests {
ArrayRank="{Exception: Value is not an array}" ArrayRank="{Exception: Value is not an array}"
AsString="{System.Nullable&lt;System.Int32&gt;}" AsString="{System.Nullable&lt;System.Int32&gt;}"
Expression="iNull_null" Expression="iNull_null"
HasExpired="False"
IsArray="False" IsArray="False"
IsInteger="False" IsInteger="False"
IsInvalid="False"
IsNull="False" IsNull="False"
IsObject="True" IsObject="True"
IsPrimitive="False" IsPrimitive="False"
@ -249,9 +249,9 @@ namespace Debugger.Tests {
ArrayRank="1" ArrayRank="1"
AsString="{System.String[]}" AsString="{System.String[]}"
Expression="args" Expression="args"
HasExpired="False"
IsArray="True" IsArray="True"
IsInteger="False" IsInteger="False"
IsInvalid="False"
IsNull="False" IsNull="False"
IsObject="False" IsObject="False"
IsPrimitive="False" IsPrimitive="False"
@ -268,9 +268,9 @@ namespace Debugger.Tests {
ArrayRank="1" ArrayRank="1"
AsString="{System.String[]}" AsString="{System.String[]}"
Expression="args" Expression="args"
HasExpired="False"
IsArray="True" IsArray="True"
IsInteger="False" IsInteger="False"
IsInvalid="False"
IsNull="False" IsNull="False"
IsObject="False" IsObject="False"
IsPrimitive="False" IsPrimitive="False"
@ -287,9 +287,9 @@ namespace Debugger.Tests {
ArrayRank="1" ArrayRank="1"
AsString="{System.String[]}" AsString="{System.String[]}"
Expression="args" Expression="args"
HasExpired="False"
IsArray="True" IsArray="True"
IsInteger="False" IsInteger="False"
IsInvalid="False"
IsNull="False" IsNull="False"
IsObject="False" IsObject="False"
IsPrimitive="False" IsPrimitive="False"
@ -306,9 +306,9 @@ namespace Debugger.Tests {
ArrayRank="{Exception: Value is not an array}" ArrayRank="{Exception: Value is not an array}"
AsString="1" AsString="1"
Expression="i" Expression="i"
HasExpired="False"
IsArray="False" IsArray="False"
IsInteger="True" IsInteger="True"
IsInvalid="False"
IsNull="False" IsNull="False"
IsObject="False" IsObject="False"
IsPrimitive="True" IsPrimitive="True"
@ -322,9 +322,9 @@ namespace Debugger.Tests {
ArrayRank="{Exception: Value is not an array}" ArrayRank="{Exception: Value is not an array}"
AsString="A" AsString="A"
Expression="s" Expression="s"
HasExpired="False"
IsArray="False" IsArray="False"
IsInteger="False" IsInteger="False"
IsInvalid="False"
IsNull="False" IsNull="False"
IsObject="False" IsObject="False"
IsPrimitive="True" IsPrimitive="True"

28
src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/FunctionLifetime.cs

@ -75,46 +75,46 @@ namespace Debugger.Tests {
<StackFrame <StackFrame
ArgumentCount="1" ArgumentCount="1"
Depth="0" Depth="0"
HasExpired="False"
HasSymbols="True" HasSymbols="True"
IsInvalid="False"
MethodInfo="Function" MethodInfo="Function"
NextStatement="FunctionLifetime.cs:22,4-22,40" /> NextStatement="FunctionLifetime.cs:22,4-22,40" />
</SelectedStackFrame> </SelectedStackFrame>
<DebuggingPaused>Break</DebuggingPaused> <DebuggingPaused>Break</DebuggingPaused>
<Old_StackFrame> <Old_StackFrame>
<StackFrame <StackFrame
ArgumentCount="{Exception: StackFrame has expired}" ArgumentCount="{Exception: StackFrame is not valid anymore}"
Depth="0" Depth="0"
HasExpired="True"
HasSymbols="True" HasSymbols="True"
IsInvalid="True"
MethodInfo="Function" MethodInfo="Function"
NextStatement="{Exception: StackFrame has expired}" /> NextStatement="{Exception: StackFrame is not valid anymore}" />
</Old_StackFrame> </Old_StackFrame>
<SelectedStackFrame> <SelectedStackFrame>
<StackFrame <StackFrame
ArgumentCount="0" ArgumentCount="0"
Depth="0" Depth="0"
HasExpired="False"
HasSymbols="True" HasSymbols="True"
IsInvalid="False"
MethodInfo="SubFunction" MethodInfo="SubFunction"
NextStatement="FunctionLifetime.cs:29,4-29,40" /> NextStatement="FunctionLifetime.cs:29,4-29,40" />
</SelectedStackFrame> </SelectedStackFrame>
<DebuggingPaused>Break</DebuggingPaused> <DebuggingPaused>Break</DebuggingPaused>
<Old_StackFrame> <Old_StackFrame>
<StackFrame <StackFrame
ArgumentCount="{Exception: StackFrame has expired}" ArgumentCount="{Exception: StackFrame is not valid anymore}"
Depth="0" Depth="0"
HasExpired="True"
HasSymbols="True" HasSymbols="True"
IsInvalid="True"
MethodInfo="Function" MethodInfo="Function"
NextStatement="{Exception: StackFrame has expired}" /> NextStatement="{Exception: StackFrame is not valid anymore}" />
</Old_StackFrame> </Old_StackFrame>
<SelectedStackFrame> <SelectedStackFrame>
<StackFrame <StackFrame
ArgumentCount="1" ArgumentCount="1"
Depth="0" Depth="0"
HasExpired="False"
HasSymbols="True" HasSymbols="True"
IsInvalid="False"
MethodInfo="Function" MethodInfo="Function"
NextStatement="FunctionLifetime.cs:24,4-24,40" /> NextStatement="FunctionLifetime.cs:24,4-24,40" />
</SelectedStackFrame> </SelectedStackFrame>
@ -123,26 +123,26 @@ namespace Debugger.Tests {
<StackFrame <StackFrame
ArgumentCount="0" ArgumentCount="0"
Depth="0" Depth="0"
HasExpired="False"
HasSymbols="True" HasSymbols="True"
IsInvalid="False"
MethodInfo="Main" MethodInfo="Main"
NextStatement="FunctionLifetime.cs:17,4-17,40" /> NextStatement="FunctionLifetime.cs:17,4-17,40" />
</Main> </Main>
<Old_StackFrame> <Old_StackFrame>
<StackFrame <StackFrame
ArgumentCount="{Exception: StackFrame has expired}" ArgumentCount="{Exception: StackFrame is not valid anymore}"
Depth="0" Depth="0"
HasExpired="True"
HasSymbols="True" HasSymbols="True"
IsInvalid="True"
MethodInfo="Function" MethodInfo="Function"
NextStatement="{Exception: StackFrame has expired}" /> NextStatement="{Exception: StackFrame is not valid anymore}" />
</Old_StackFrame> </Old_StackFrame>
<SelectedStackFrame> <SelectedStackFrame>
<StackFrame <StackFrame
ArgumentCount="0" ArgumentCount="0"
Depth="0" Depth="0"
HasExpired="False"
HasSymbols="True" HasSymbols="True"
IsInvalid="False"
MethodInfo="Main" MethodInfo="Main"
NextStatement="FunctionLifetime.cs:17,4-17,40" /> NextStatement="FunctionLifetime.cs:17,4-17,40" />
</SelectedStackFrame> </SelectedStackFrame>

10
src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/FunctionLocalVariables.cs

@ -57,9 +57,9 @@ namespace Debugger.Tests {
ArrayRank="{Exception: Value is not an array}" ArrayRank="{Exception: Value is not an array}"
AsString="0" AsString="0"
Expression="i" Expression="i"
HasExpired="False"
IsArray="False" IsArray="False"
IsInteger="True" IsInteger="True"
IsInvalid="False"
IsNull="False" IsNull="False"
IsObject="False" IsObject="False"
IsPrimitive="True" IsPrimitive="True"
@ -73,9 +73,9 @@ namespace Debugger.Tests {
ArrayRank="{Exception: Value is not an array}" ArrayRank="{Exception: Value is not an array}"
AsString="S" AsString="S"
Expression="s" Expression="s"
HasExpired="False"
IsArray="False" IsArray="False"
IsInteger="False" IsInteger="False"
IsInvalid="False"
IsNull="False" IsNull="False"
IsObject="False" IsObject="False"
IsPrimitive="True" IsPrimitive="True"
@ -89,9 +89,9 @@ namespace Debugger.Tests {
ArrayRank="1" ArrayRank="1"
AsString="{System.String[]}" AsString="{System.String[]}"
Expression="args" Expression="args"
HasExpired="False"
IsArray="True" IsArray="True"
IsInteger="False" IsInteger="False"
IsInvalid="False"
IsNull="False" IsNull="False"
IsObject="False" IsObject="False"
IsPrimitive="False" IsPrimitive="False"
@ -105,9 +105,9 @@ namespace Debugger.Tests {
ArrayRank="{Exception: Value is not an array}" ArrayRank="{Exception: Value is not an array}"
AsString="null" AsString="null"
Expression="n" Expression="n"
HasExpired="False"
IsArray="False" IsArray="False"
IsInteger="False" IsInteger="False"
IsInvalid="False"
IsNull="True" IsNull="True"
IsObject="False" IsObject="False"
IsPrimitive="False" IsPrimitive="False"
@ -121,9 +121,9 @@ namespace Debugger.Tests {
ArrayRank="{Exception: Value is not an array}" ArrayRank="{Exception: Value is not an array}"
AsString="{System.Object}" AsString="{System.Object}"
Expression="o" Expression="o"
HasExpired="False"
IsArray="False" IsArray="False"
IsInteger="False" IsInteger="False"
IsInvalid="False"
IsNull="False" IsNull="False"
IsObject="True" IsObject="True"
IsPrimitive="False" IsPrimitive="False"

340
src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/FunctionVariablesLifetime.cs

@ -106,9 +106,9 @@ namespace Debugger.Tests {
ArrayRank="{Exception: Value is not an array}" ArrayRank="{Exception: Value is not an array}"
AsString="1" AsString="1"
Expression="argument" Expression="argument"
HasExpired="False"
IsArray="False" IsArray="False"
IsInteger="True" IsInteger="True"
IsInvalid="False"
IsNull="False" IsNull="False"
IsObject="False" IsObject="False"
IsPrimitive="True" IsPrimitive="True"
@ -122,9 +122,9 @@ namespace Debugger.Tests {
ArrayRank="{Exception: Value is not an array}" ArrayRank="{Exception: Value is not an array}"
AsString="2" AsString="2"
Expression="local" Expression="local"
HasExpired="False"
IsArray="False" IsArray="False"
IsInteger="True" IsInteger="True"
IsInvalid="False"
IsNull="False" IsNull="False"
IsObject="False" IsObject="False"
IsPrimitive="True" IsPrimitive="True"
@ -138,9 +138,9 @@ namespace Debugger.Tests {
ArrayRank="{Exception: Value is not an array}" ArrayRank="{Exception: Value is not an array}"
AsString="3" AsString="3"
Expression="this.class" Expression="this.class"
HasExpired="False"
IsArray="False" IsArray="False"
IsInteger="True" IsInteger="True"
IsInvalid="False"
IsNull="False" IsNull="False"
IsObject="False" IsObject="False"
IsPrimitive="True" IsPrimitive="True"
@ -150,50 +150,50 @@ namespace Debugger.Tests {
<DebuggingPaused>Break</DebuggingPaused> <DebuggingPaused>Break</DebuggingPaused>
<argument> <argument>
<Value <Value
ArrayDimensions="{Exception: Value has expired}" ArrayDimensions="{Exception: Value is no longer valid}"
ArrayLenght="{Exception: Value has expired}" ArrayLenght="{Exception: Value is no longer valid}"
ArrayRank="{Exception: Value has expired}" ArrayRank="{Exception: Value is no longer valid}"
AsString="{Exception: Value has expired}" AsString="{Exception: Value is no longer valid}"
Expression="argument" Expression="argument"
HasExpired="True" IsArray="{Exception: Value is no longer valid}"
IsArray="{Exception: Value has expired}" IsInteger="{Exception: Value is no longer valid}"
IsInteger="{Exception: Value has expired}" IsInvalid="True"
IsNull="{Exception: Value has expired}" IsNull="{Exception: Value is no longer valid}"
IsObject="{Exception: Value has expired}" IsObject="{Exception: Value is no longer valid}"
IsPrimitive="{Exception: Value has expired}" IsPrimitive="{Exception: Value is no longer valid}"
PrimitiveValue="{Exception: Value has expired}" PrimitiveValue="{Exception: Value is no longer valid}"
Type="System.Int32" /> Type="System.Int32" />
</argument> </argument>
<local> <local>
<Value <Value
ArrayDimensions="{Exception: Value has expired}" ArrayDimensions="{Exception: Value is no longer valid}"
ArrayLenght="{Exception: Value has expired}" ArrayLenght="{Exception: Value is no longer valid}"
ArrayRank="{Exception: Value has expired}" ArrayRank="{Exception: Value is no longer valid}"
AsString="{Exception: Value has expired}" AsString="{Exception: Value is no longer valid}"
Expression="local" Expression="local"
HasExpired="True" IsArray="{Exception: Value is no longer valid}"
IsArray="{Exception: Value has expired}" IsInteger="{Exception: Value is no longer valid}"
IsInteger="{Exception: Value has expired}" IsInvalid="True"
IsNull="{Exception: Value has expired}" IsNull="{Exception: Value is no longer valid}"
IsObject="{Exception: Value has expired}" IsObject="{Exception: Value is no longer valid}"
IsPrimitive="{Exception: Value has expired}" IsPrimitive="{Exception: Value is no longer valid}"
PrimitiveValue="{Exception: Value has expired}" PrimitiveValue="{Exception: Value is no longer valid}"
Type="System.Int32" /> Type="System.Int32" />
</local> </local>
<_x0040_class> <_x0040_class>
<Value <Value
ArrayDimensions="{Exception: Value has expired}" ArrayDimensions="{Exception: Value is no longer valid}"
ArrayLenght="{Exception: Value has expired}" ArrayLenght="{Exception: Value is no longer valid}"
ArrayRank="{Exception: Value has expired}" ArrayRank="{Exception: Value is no longer valid}"
AsString="{Exception: Value has expired}" AsString="{Exception: Value is no longer valid}"
Expression="this.class" Expression="this.class"
HasExpired="True" IsArray="{Exception: Value is no longer valid}"
IsArray="{Exception: Value has expired}" IsInteger="{Exception: Value is no longer valid}"
IsInteger="{Exception: Value has expired}" IsInvalid="True"
IsNull="{Exception: Value has expired}" IsNull="{Exception: Value is no longer valid}"
IsObject="{Exception: Value has expired}" IsObject="{Exception: Value is no longer valid}"
IsPrimitive="{Exception: Value has expired}" IsPrimitive="{Exception: Value is no longer valid}"
PrimitiveValue="{Exception: Value has expired}" PrimitiveValue="{Exception: Value is no longer valid}"
Type="System.Int32" /> Type="System.Int32" />
</_x0040_class> </_x0040_class>
<localInSubFunction> <localInSubFunction>
@ -203,9 +203,9 @@ namespace Debugger.Tests {
ArrayRank="{Exception: Value is not an array}" ArrayRank="{Exception: Value is not an array}"
AsString="4" AsString="4"
Expression="localInSubFunction" Expression="localInSubFunction"
HasExpired="False"
IsArray="False" IsArray="False"
IsInteger="True" IsInteger="True"
IsInvalid="False"
IsNull="False" IsNull="False"
IsObject="False" IsObject="False"
IsPrimitive="True" IsPrimitive="True"
@ -215,131 +215,131 @@ namespace Debugger.Tests {
<DebuggingPaused>Break</DebuggingPaused> <DebuggingPaused>Break</DebuggingPaused>
<argument> <argument>
<Value <Value
ArrayDimensions="{Exception: Value has expired}" ArrayDimensions="{Exception: Value is no longer valid}"
ArrayLenght="{Exception: Value has expired}" ArrayLenght="{Exception: Value is no longer valid}"
ArrayRank="{Exception: Value has expired}" ArrayRank="{Exception: Value is no longer valid}"
AsString="{Exception: Value has expired}" AsString="{Exception: Value is no longer valid}"
Expression="argument" Expression="argument"
HasExpired="True" IsArray="{Exception: Value is no longer valid}"
IsArray="{Exception: Value has expired}" IsInteger="{Exception: Value is no longer valid}"
IsInteger="{Exception: Value has expired}" IsInvalid="True"
IsNull="{Exception: Value has expired}" IsNull="{Exception: Value is no longer valid}"
IsObject="{Exception: Value has expired}" IsObject="{Exception: Value is no longer valid}"
IsPrimitive="{Exception: Value has expired}" IsPrimitive="{Exception: Value is no longer valid}"
PrimitiveValue="{Exception: Value has expired}" PrimitiveValue="{Exception: Value is no longer valid}"
Type="System.Int32" /> Type="System.Int32" />
</argument> </argument>
<local> <local>
<Value <Value
ArrayDimensions="{Exception: Value has expired}" ArrayDimensions="{Exception: Value is no longer valid}"
ArrayLenght="{Exception: Value has expired}" ArrayLenght="{Exception: Value is no longer valid}"
ArrayRank="{Exception: Value has expired}" ArrayRank="{Exception: Value is no longer valid}"
AsString="{Exception: Value has expired}" AsString="{Exception: Value is no longer valid}"
Expression="local" Expression="local"
HasExpired="True" IsArray="{Exception: Value is no longer valid}"
IsArray="{Exception: Value has expired}" IsInteger="{Exception: Value is no longer valid}"
IsInteger="{Exception: Value has expired}" IsInvalid="True"
IsNull="{Exception: Value has expired}" IsNull="{Exception: Value is no longer valid}"
IsObject="{Exception: Value has expired}" IsObject="{Exception: Value is no longer valid}"
IsPrimitive="{Exception: Value has expired}" IsPrimitive="{Exception: Value is no longer valid}"
PrimitiveValue="{Exception: Value has expired}" PrimitiveValue="{Exception: Value is no longer valid}"
Type="System.Int32" /> Type="System.Int32" />
</local> </local>
<_x0040_class> <_x0040_class>
<Value <Value
ArrayDimensions="{Exception: Value has expired}" ArrayDimensions="{Exception: Value is no longer valid}"
ArrayLenght="{Exception: Value has expired}" ArrayLenght="{Exception: Value is no longer valid}"
ArrayRank="{Exception: Value has expired}" ArrayRank="{Exception: Value is no longer valid}"
AsString="{Exception: Value has expired}" AsString="{Exception: Value is no longer valid}"
Expression="this.class" Expression="this.class"
HasExpired="True" IsArray="{Exception: Value is no longer valid}"
IsArray="{Exception: Value has expired}" IsInteger="{Exception: Value is no longer valid}"
IsInteger="{Exception: Value has expired}" IsInvalid="True"
IsNull="{Exception: Value has expired}" IsNull="{Exception: Value is no longer valid}"
IsObject="{Exception: Value has expired}" IsObject="{Exception: Value is no longer valid}"
IsPrimitive="{Exception: Value has expired}" IsPrimitive="{Exception: Value is no longer valid}"
PrimitiveValue="{Exception: Value has expired}" PrimitiveValue="{Exception: Value is no longer valid}"
Type="System.Int32" /> Type="System.Int32" />
</_x0040_class> </_x0040_class>
<localInSubFunction> <localInSubFunction>
<Value <Value
ArrayDimensions="{Exception: Value has expired}" ArrayDimensions="{Exception: Value is no longer valid}"
ArrayLenght="{Exception: Value has expired}" ArrayLenght="{Exception: Value is no longer valid}"
ArrayRank="{Exception: Value has expired}" ArrayRank="{Exception: Value is no longer valid}"
AsString="{Exception: Value has expired}" AsString="{Exception: Value is no longer valid}"
Expression="localInSubFunction" Expression="localInSubFunction"
HasExpired="True" IsArray="{Exception: Value is no longer valid}"
IsArray="{Exception: Value has expired}" IsInteger="{Exception: Value is no longer valid}"
IsInteger="{Exception: Value has expired}" IsInvalid="True"
IsNull="{Exception: Value has expired}" IsNull="{Exception: Value is no longer valid}"
IsObject="{Exception: Value has expired}" IsObject="{Exception: Value is no longer valid}"
IsPrimitive="{Exception: Value has expired}" IsPrimitive="{Exception: Value is no longer valid}"
PrimitiveValue="{Exception: Value has expired}" PrimitiveValue="{Exception: Value is no longer valid}"
Type="System.Int32" /> Type="System.Int32" />
</localInSubFunction> </localInSubFunction>
<DebuggingPaused>Break</DebuggingPaused> <DebuggingPaused>Break</DebuggingPaused>
<argument> <argument>
<Value <Value
ArrayDimensions="{Exception: Value has expired}" ArrayDimensions="{Exception: Value is no longer valid}"
ArrayLenght="{Exception: Value has expired}" ArrayLenght="{Exception: Value is no longer valid}"
ArrayRank="{Exception: Value has expired}" ArrayRank="{Exception: Value is no longer valid}"
AsString="{Exception: Value has expired}" AsString="{Exception: Value is no longer valid}"
Expression="argument" Expression="argument"
HasExpired="True" IsArray="{Exception: Value is no longer valid}"
IsArray="{Exception: Value has expired}" IsInteger="{Exception: Value is no longer valid}"
IsInteger="{Exception: Value has expired}" IsInvalid="True"
IsNull="{Exception: Value has expired}" IsNull="{Exception: Value is no longer valid}"
IsObject="{Exception: Value has expired}" IsObject="{Exception: Value is no longer valid}"
IsPrimitive="{Exception: Value has expired}" IsPrimitive="{Exception: Value is no longer valid}"
PrimitiveValue="{Exception: Value has expired}" PrimitiveValue="{Exception: Value is no longer valid}"
Type="System.Int32" /> Type="System.Int32" />
</argument> </argument>
<local> <local>
<Value <Value
ArrayDimensions="{Exception: Value has expired}" ArrayDimensions="{Exception: Value is no longer valid}"
ArrayLenght="{Exception: Value has expired}" ArrayLenght="{Exception: Value is no longer valid}"
ArrayRank="{Exception: Value has expired}" ArrayRank="{Exception: Value is no longer valid}"
AsString="{Exception: Value has expired}" AsString="{Exception: Value is no longer valid}"
Expression="local" Expression="local"
HasExpired="True" IsArray="{Exception: Value is no longer valid}"
IsArray="{Exception: Value has expired}" IsInteger="{Exception: Value is no longer valid}"
IsInteger="{Exception: Value has expired}" IsInvalid="True"
IsNull="{Exception: Value has expired}" IsNull="{Exception: Value is no longer valid}"
IsObject="{Exception: Value has expired}" IsObject="{Exception: Value is no longer valid}"
IsPrimitive="{Exception: Value has expired}" IsPrimitive="{Exception: Value is no longer valid}"
PrimitiveValue="{Exception: Value has expired}" PrimitiveValue="{Exception: Value is no longer valid}"
Type="System.Int32" /> Type="System.Int32" />
</local> </local>
<_x0040_class> <_x0040_class>
<Value <Value
ArrayDimensions="{Exception: Value has expired}" ArrayDimensions="{Exception: Value is no longer valid}"
ArrayLenght="{Exception: Value has expired}" ArrayLenght="{Exception: Value is no longer valid}"
ArrayRank="{Exception: Value has expired}" ArrayRank="{Exception: Value is no longer valid}"
AsString="{Exception: Value has expired}" AsString="{Exception: Value is no longer valid}"
Expression="this.class" Expression="this.class"
HasExpired="True" IsArray="{Exception: Value is no longer valid}"
IsArray="{Exception: Value has expired}" IsInteger="{Exception: Value is no longer valid}"
IsInteger="{Exception: Value has expired}" IsInvalid="True"
IsNull="{Exception: Value has expired}" IsNull="{Exception: Value is no longer valid}"
IsObject="{Exception: Value has expired}" IsObject="{Exception: Value is no longer valid}"
IsPrimitive="{Exception: Value has expired}" IsPrimitive="{Exception: Value is no longer valid}"
PrimitiveValue="{Exception: Value has expired}" PrimitiveValue="{Exception: Value is no longer valid}"
Type="System.Int32" /> Type="System.Int32" />
</_x0040_class> </_x0040_class>
<localInSubFunction> <localInSubFunction>
<Value <Value
ArrayDimensions="{Exception: Value has expired}" ArrayDimensions="{Exception: Value is no longer valid}"
ArrayLenght="{Exception: Value has expired}" ArrayLenght="{Exception: Value is no longer valid}"
ArrayRank="{Exception: Value has expired}" ArrayRank="{Exception: Value is no longer valid}"
AsString="{Exception: Value has expired}" AsString="{Exception: Value is no longer valid}"
Expression="localInSubFunction" Expression="localInSubFunction"
HasExpired="True" IsArray="{Exception: Value is no longer valid}"
IsArray="{Exception: Value has expired}" IsInteger="{Exception: Value is no longer valid}"
IsInteger="{Exception: Value has expired}" IsInvalid="True"
IsNull="{Exception: Value has expired}" IsNull="{Exception: Value is no longer valid}"
IsObject="{Exception: Value has expired}" IsObject="{Exception: Value is no longer valid}"
IsPrimitive="{Exception: Value has expired}" IsPrimitive="{Exception: Value is no longer valid}"
PrimitiveValue="{Exception: Value has expired}" PrimitiveValue="{Exception: Value is no longer valid}"
Type="System.Int32" /> Type="System.Int32" />
</localInSubFunction> </localInSubFunction>
<localInSubFunction_x0028_new_x0029_> <localInSubFunction_x0028_new_x0029_>
@ -349,9 +349,9 @@ namespace Debugger.Tests {
ArrayRank="{Exception: Value is not an array}" ArrayRank="{Exception: Value is not an array}"
AsString="4" AsString="4"
Expression="localInSubFunction" Expression="localInSubFunction"
HasExpired="False"
IsArray="False" IsArray="False"
IsInteger="True" IsInteger="True"
IsInvalid="False"
IsNull="False" IsNull="False"
IsObject="False" IsObject="False"
IsPrimitive="True" IsPrimitive="True"
@ -361,66 +361,66 @@ namespace Debugger.Tests {
<DebuggingPaused>Break</DebuggingPaused> <DebuggingPaused>Break</DebuggingPaused>
<argument> <argument>
<Value <Value
ArrayDimensions="{Exception: Value has expired}" ArrayDimensions="{Exception: Value is no longer valid}"
ArrayLenght="{Exception: Value has expired}" ArrayLenght="{Exception: Value is no longer valid}"
ArrayRank="{Exception: Value has expired}" ArrayRank="{Exception: Value is no longer valid}"
AsString="{Exception: Value has expired}" AsString="{Exception: Value is no longer valid}"
Expression="argument" Expression="argument"
HasExpired="True" IsArray="{Exception: Value is no longer valid}"
IsArray="{Exception: Value has expired}" IsInteger="{Exception: Value is no longer valid}"
IsInteger="{Exception: Value has expired}" IsInvalid="True"
IsNull="{Exception: Value has expired}" IsNull="{Exception: Value is no longer valid}"
IsObject="{Exception: Value has expired}" IsObject="{Exception: Value is no longer valid}"
IsPrimitive="{Exception: Value has expired}" IsPrimitive="{Exception: Value is no longer valid}"
PrimitiveValue="{Exception: Value has expired}" PrimitiveValue="{Exception: Value is no longer valid}"
Type="System.Int32" /> Type="System.Int32" />
</argument> </argument>
<local> <local>
<Value <Value
ArrayDimensions="{Exception: Value has expired}" ArrayDimensions="{Exception: Value is no longer valid}"
ArrayLenght="{Exception: Value has expired}" ArrayLenght="{Exception: Value is no longer valid}"
ArrayRank="{Exception: Value has expired}" ArrayRank="{Exception: Value is no longer valid}"
AsString="{Exception: Value has expired}" AsString="{Exception: Value is no longer valid}"
Expression="local" Expression="local"
HasExpired="True" IsArray="{Exception: Value is no longer valid}"
IsArray="{Exception: Value has expired}" IsInteger="{Exception: Value is no longer valid}"
IsInteger="{Exception: Value has expired}" IsInvalid="True"
IsNull="{Exception: Value has expired}" IsNull="{Exception: Value is no longer valid}"
IsObject="{Exception: Value has expired}" IsObject="{Exception: Value is no longer valid}"
IsPrimitive="{Exception: Value has expired}" IsPrimitive="{Exception: Value is no longer valid}"
PrimitiveValue="{Exception: Value has expired}" PrimitiveValue="{Exception: Value is no longer valid}"
Type="System.Int32" /> Type="System.Int32" />
</local> </local>
<_x0040_class> <_x0040_class>
<Value <Value
ArrayDimensions="{Exception: Value has expired}" ArrayDimensions="{Exception: Value is no longer valid}"
ArrayLenght="{Exception: Value has expired}" ArrayLenght="{Exception: Value is no longer valid}"
ArrayRank="{Exception: Value has expired}" ArrayRank="{Exception: Value is no longer valid}"
AsString="{Exception: Value has expired}" AsString="{Exception: Value is no longer valid}"
Expression="this.class" Expression="this.class"
HasExpired="True" IsArray="{Exception: Value is no longer valid}"
IsArray="{Exception: Value has expired}" IsInteger="{Exception: Value is no longer valid}"
IsInteger="{Exception: Value has expired}" IsInvalid="True"
IsNull="{Exception: Value has expired}" IsNull="{Exception: Value is no longer valid}"
IsObject="{Exception: Value has expired}" IsObject="{Exception: Value is no longer valid}"
IsPrimitive="{Exception: Value has expired}" IsPrimitive="{Exception: Value is no longer valid}"
PrimitiveValue="{Exception: Value has expired}" PrimitiveValue="{Exception: Value is no longer valid}"
Type="System.Int32" /> Type="System.Int32" />
</_x0040_class> </_x0040_class>
<localInSubFunction> <localInSubFunction>
<Value <Value
ArrayDimensions="{Exception: Value has expired}" ArrayDimensions="{Exception: Value is no longer valid}"
ArrayLenght="{Exception: Value has expired}" ArrayLenght="{Exception: Value is no longer valid}"
ArrayRank="{Exception: Value has expired}" ArrayRank="{Exception: Value is no longer valid}"
AsString="{Exception: Value has expired}" AsString="{Exception: Value is no longer valid}"
Expression="localInSubFunction" Expression="localInSubFunction"
HasExpired="True" IsArray="{Exception: Value is no longer valid}"
IsArray="{Exception: Value has expired}" IsInteger="{Exception: Value is no longer valid}"
IsInteger="{Exception: Value has expired}" IsInvalid="True"
IsNull="{Exception: Value has expired}" IsNull="{Exception: Value is no longer valid}"
IsObject="{Exception: Value has expired}" IsObject="{Exception: Value is no longer valid}"
IsPrimitive="{Exception: Value has expired}" IsPrimitive="{Exception: Value is no longer valid}"
PrimitiveValue="{Exception: Value has expired}" PrimitiveValue="{Exception: Value is no longer valid}"
Type="System.Int32" /> Type="System.Int32" />
</localInSubFunction> </localInSubFunction>
<ProcessExited /> <ProcessExited />

52
src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Generics.cs

@ -136,8 +136,8 @@ namespace Debugger.Tests {
<StackFrame <StackFrame
ArgumentCount="2" ArgumentCount="2"
Depth="0" Depth="0"
HasExpired="False"
HasSymbols="True" HasSymbols="True"
IsInvalid="False"
MethodInfo="Metod" MethodInfo="Metod"
NextStatement="Generics.cs:48,4-48,40"> NextStatement="Generics.cs:48,4-48,40">
<MethodInfo> <MethodInfo>
@ -178,9 +178,9 @@ namespace Debugger.Tests {
ArrayRank="{Exception: Value is not an array}" ArrayRank="{Exception: Value is not an array}"
AsString="1" AsString="1"
Expression="v" Expression="v"
HasExpired="False"
IsArray="False" IsArray="False"
IsInteger="True" IsInteger="True"
IsInvalid="False"
IsNull="False" IsNull="False"
IsObject="False" IsObject="False"
IsPrimitive="True" IsPrimitive="True"
@ -194,9 +194,9 @@ namespace Debugger.Tests {
ArrayRank="{Exception: Value is not an array}" ArrayRank="{Exception: Value is not an array}"
AsString="1!" AsString="1!"
Expression="k" Expression="k"
HasExpired="False"
IsArray="False" IsArray="False"
IsInteger="False" IsInteger="False"
IsInvalid="False"
IsNull="False" IsNull="False"
IsObject="False" IsObject="False"
IsPrimitive="True" IsPrimitive="True"
@ -209,8 +209,8 @@ namespace Debugger.Tests {
<StackFrame <StackFrame
ArgumentCount="2" ArgumentCount="2"
Depth="0" Depth="0"
HasExpired="False"
HasSymbols="True" HasSymbols="True"
IsInvalid="False"
MethodInfo="GenericMethod" MethodInfo="GenericMethod"
NextStatement="Generics.cs:54,4-54,40"> NextStatement="Generics.cs:54,4-54,40">
<MethodInfo> <MethodInfo>
@ -251,9 +251,9 @@ namespace Debugger.Tests {
ArrayRank="{Exception: Value is not an array}" ArrayRank="{Exception: Value is not an array}"
AsString="2" AsString="2"
Expression="v" Expression="v"
HasExpired="False"
IsArray="False" IsArray="False"
IsInteger="True" IsInteger="True"
IsInvalid="False"
IsNull="False" IsNull="False"
IsObject="False" IsObject="False"
IsPrimitive="True" IsPrimitive="True"
@ -267,9 +267,9 @@ namespace Debugger.Tests {
ArrayRank="{Exception: Value is not an array}" ArrayRank="{Exception: Value is not an array}"
AsString="2!" AsString="2!"
Expression="k" Expression="k"
HasExpired="False"
IsArray="False" IsArray="False"
IsInteger="False" IsInteger="False"
IsInvalid="False"
IsNull="False" IsNull="False"
IsObject="False" IsObject="False"
IsPrimitive="True" IsPrimitive="True"
@ -282,8 +282,8 @@ namespace Debugger.Tests {
<StackFrame <StackFrame
ArgumentCount="2" ArgumentCount="2"
Depth="0" Depth="0"
HasExpired="False"
HasSymbols="True" HasSymbols="True"
IsInvalid="False"
MethodInfo="StaticMetod" MethodInfo="StaticMetod"
NextStatement="Generics.cs:60,4-60,40"> NextStatement="Generics.cs:60,4-60,40">
<MethodInfo> <MethodInfo>
@ -324,9 +324,9 @@ namespace Debugger.Tests {
ArrayRank="{Exception: Value is not an array}" ArrayRank="{Exception: Value is not an array}"
AsString="3" AsString="3"
Expression="v" Expression="v"
HasExpired="False"
IsArray="False" IsArray="False"
IsInteger="True" IsInteger="True"
IsInvalid="False"
IsNull="False" IsNull="False"
IsObject="False" IsObject="False"
IsPrimitive="True" IsPrimitive="True"
@ -340,9 +340,9 @@ namespace Debugger.Tests {
ArrayRank="{Exception: Value is not an array}" ArrayRank="{Exception: Value is not an array}"
AsString="3!" AsString="3!"
Expression="k" Expression="k"
HasExpired="False"
IsArray="False" IsArray="False"
IsInteger="False" IsInteger="False"
IsInvalid="False"
IsNull="False" IsNull="False"
IsObject="False" IsObject="False"
IsPrimitive="True" IsPrimitive="True"
@ -355,8 +355,8 @@ namespace Debugger.Tests {
<StackFrame <StackFrame
ArgumentCount="2" ArgumentCount="2"
Depth="0" Depth="0"
HasExpired="False"
HasSymbols="True" HasSymbols="True"
IsInvalid="False"
MethodInfo="StaticGenericMethod" MethodInfo="StaticGenericMethod"
NextStatement="Generics.cs:66,4-66,40"> NextStatement="Generics.cs:66,4-66,40">
<MethodInfo> <MethodInfo>
@ -397,9 +397,9 @@ namespace Debugger.Tests {
ArrayRank="{Exception: Value is not an array}" ArrayRank="{Exception: Value is not an array}"
AsString="4" AsString="4"
Expression="v" Expression="v"
HasExpired="False"
IsArray="False" IsArray="False"
IsInteger="True" IsInteger="True"
IsInvalid="False"
IsNull="False" IsNull="False"
IsObject="False" IsObject="False"
IsPrimitive="True" IsPrimitive="True"
@ -413,9 +413,9 @@ namespace Debugger.Tests {
ArrayRank="{Exception: Value is not an array}" ArrayRank="{Exception: Value is not an array}"
AsString="4!" AsString="4!"
Expression="k" Expression="k"
HasExpired="False"
IsArray="False" IsArray="False"
IsInteger="False" IsInteger="False"
IsInvalid="False"
IsNull="False" IsNull="False"
IsObject="False" IsObject="False"
IsPrimitive="True" IsPrimitive="True"
@ -428,8 +428,8 @@ namespace Debugger.Tests {
<StackFrame <StackFrame
ArgumentCount="2" ArgumentCount="2"
Depth="0" Depth="0"
HasExpired="False"
HasSymbols="True" HasSymbols="True"
IsInvalid="False"
MethodInfo="Metod" MethodInfo="Metod"
NextStatement="Generics.cs:75,4-75,40"> NextStatement="Generics.cs:75,4-75,40">
<MethodInfo> <MethodInfo>
@ -470,9 +470,9 @@ namespace Debugger.Tests {
ArrayRank="{Exception: Value is not an array}" ArrayRank="{Exception: Value is not an array}"
AsString="5" AsString="5"
Expression="v" Expression="v"
HasExpired="False"
IsArray="False" IsArray="False"
IsInteger="True" IsInteger="True"
IsInvalid="False"
IsNull="False" IsNull="False"
IsObject="False" IsObject="False"
IsPrimitive="True" IsPrimitive="True"
@ -486,9 +486,9 @@ namespace Debugger.Tests {
ArrayRank="{Exception: Value is not an array}" ArrayRank="{Exception: Value is not an array}"
AsString="5!" AsString="5!"
Expression="k" Expression="k"
HasExpired="False"
IsArray="False" IsArray="False"
IsInteger="False" IsInteger="False"
IsInvalid="False"
IsNull="False" IsNull="False"
IsObject="False" IsObject="False"
IsPrimitive="True" IsPrimitive="True"
@ -501,8 +501,8 @@ namespace Debugger.Tests {
<StackFrame <StackFrame
ArgumentCount="2" ArgumentCount="2"
Depth="0" Depth="0"
HasExpired="False"
HasSymbols="True" HasSymbols="True"
IsInvalid="False"
MethodInfo="GenericMethod" MethodInfo="GenericMethod"
NextStatement="Generics.cs:81,4-81,40"> NextStatement="Generics.cs:81,4-81,40">
<MethodInfo> <MethodInfo>
@ -543,9 +543,9 @@ namespace Debugger.Tests {
ArrayRank="{Exception: Value is not an array}" ArrayRank="{Exception: Value is not an array}"
AsString="6" AsString="6"
Expression="v" Expression="v"
HasExpired="False"
IsArray="False" IsArray="False"
IsInteger="True" IsInteger="True"
IsInvalid="False"
IsNull="False" IsNull="False"
IsObject="False" IsObject="False"
IsPrimitive="True" IsPrimitive="True"
@ -559,9 +559,9 @@ namespace Debugger.Tests {
ArrayRank="{Exception: Value is not an array}" ArrayRank="{Exception: Value is not an array}"
AsString="6!" AsString="6!"
Expression="k" Expression="k"
HasExpired="False"
IsArray="False" IsArray="False"
IsInteger="False" IsInteger="False"
IsInvalid="False"
IsNull="False" IsNull="False"
IsObject="False" IsObject="False"
IsPrimitive="True" IsPrimitive="True"
@ -574,8 +574,8 @@ namespace Debugger.Tests {
<StackFrame <StackFrame
ArgumentCount="2" ArgumentCount="2"
Depth="0" Depth="0"
HasExpired="False"
HasSymbols="True" HasSymbols="True"
IsInvalid="False"
MethodInfo="StaticMetod" MethodInfo="StaticMetod"
NextStatement="Generics.cs:87,4-87,40"> NextStatement="Generics.cs:87,4-87,40">
<MethodInfo> <MethodInfo>
@ -616,9 +616,9 @@ namespace Debugger.Tests {
ArrayRank="{Exception: Value is not an array}" ArrayRank="{Exception: Value is not an array}"
AsString="7" AsString="7"
Expression="v" Expression="v"
HasExpired="False"
IsArray="False" IsArray="False"
IsInteger="True" IsInteger="True"
IsInvalid="False"
IsNull="False" IsNull="False"
IsObject="False" IsObject="False"
IsPrimitive="True" IsPrimitive="True"
@ -632,9 +632,9 @@ namespace Debugger.Tests {
ArrayRank="{Exception: Value is not an array}" ArrayRank="{Exception: Value is not an array}"
AsString="7!" AsString="7!"
Expression="k" Expression="k"
HasExpired="False"
IsArray="False" IsArray="False"
IsInteger="False" IsInteger="False"
IsInvalid="False"
IsNull="False" IsNull="False"
IsObject="False" IsObject="False"
IsPrimitive="True" IsPrimitive="True"
@ -647,8 +647,8 @@ namespace Debugger.Tests {
<StackFrame <StackFrame
ArgumentCount="2" ArgumentCount="2"
Depth="0" Depth="0"
HasExpired="False"
HasSymbols="True" HasSymbols="True"
IsInvalid="False"
MethodInfo="StaticGenericMethod" MethodInfo="StaticGenericMethod"
NextStatement="Generics.cs:93,4-93,40"> NextStatement="Generics.cs:93,4-93,40">
<MethodInfo> <MethodInfo>
@ -689,9 +689,9 @@ namespace Debugger.Tests {
ArrayRank="{Exception: Value is not an array}" ArrayRank="{Exception: Value is not an array}"
AsString="8" AsString="8"
Expression="v" Expression="v"
HasExpired="False"
IsArray="False" IsArray="False"
IsInteger="True" IsInteger="True"
IsInvalid="False"
IsNull="False" IsNull="False"
IsObject="False" IsObject="False"
IsPrimitive="True" IsPrimitive="True"
@ -705,9 +705,9 @@ namespace Debugger.Tests {
ArrayRank="{Exception: Value is not an array}" ArrayRank="{Exception: Value is not an array}"
AsString="8!" AsString="8!"
Expression="k" Expression="k"
HasExpired="False"
IsArray="False" IsArray="False"
IsInteger="False" IsInteger="False"
IsInvalid="False"
IsNull="False" IsNull="False"
IsObject="False" IsObject="False"
IsPrimitive="True" IsPrimitive="True"
@ -723,9 +723,9 @@ namespace Debugger.Tests {
ArrayRank="{Exception: Value is not an array}" ArrayRank="{Exception: Value is not an array}"
AsString="0" AsString="0"
Expression="gClass.Prop" Expression="gClass.Prop"
HasExpired="False"
IsArray="False" IsArray="False"
IsInteger="True" IsInteger="True"
IsInvalid="False"
IsNull="False" IsNull="False"
IsObject="False" IsObject="False"
IsPrimitive="True" IsPrimitive="True"
@ -739,9 +739,9 @@ namespace Debugger.Tests {
ArrayRank="{Exception: Value is not an array}" ArrayRank="{Exception: Value is not an array}"
AsString="0" AsString="0"
Expression="Debugger.Tests.TestPrograms.GenericClass&lt;System.Int32,System.String&gt;.StaticProp" Expression="Debugger.Tests.TestPrograms.GenericClass&lt;System.Int32,System.String&gt;.StaticProp"
HasExpired="False"
IsArray="False" IsArray="False"
IsInteger="True" IsInteger="True"
IsInvalid="False"
IsNull="False" IsNull="False"
IsObject="False" IsObject="False"
IsPrimitive="True" IsPrimitive="True"

8
src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/PrimitiveValue.cs

@ -64,9 +64,9 @@ namespace Debugger.Tests {
ArrayRank="{Exception: Value is not an array}" ArrayRank="{Exception: Value is not an array}"
AsString="True" AsString="True"
Expression="b" Expression="b"
HasExpired="False"
IsArray="False" IsArray="False"
IsInteger="False" IsInteger="False"
IsInvalid="False"
IsNull="False" IsNull="False"
IsObject="False" IsObject="False"
IsPrimitive="True" IsPrimitive="True"
@ -116,9 +116,9 @@ namespace Debugger.Tests {
ArrayRank="{Exception: Value is not an array}" ArrayRank="{Exception: Value is not an array}"
AsString="5" AsString="5"
Expression="i" Expression="i"
HasExpired="False"
IsArray="False" IsArray="False"
IsInteger="True" IsInteger="True"
IsInvalid="False"
IsNull="False" IsNull="False"
IsObject="False" IsObject="False"
IsPrimitive="True" IsPrimitive="True"
@ -168,9 +168,9 @@ namespace Debugger.Tests {
ArrayRank="{Exception: Value is not an array}" ArrayRank="{Exception: Value is not an array}"
AsString="five" AsString="five"
Expression="s" Expression="s"
HasExpired="False"
IsArray="False" IsArray="False"
IsInteger="False" IsInteger="False"
IsInvalid="False"
IsNull="False" IsNull="False"
IsObject="False" IsObject="False"
IsPrimitive="True" IsPrimitive="True"
@ -220,9 +220,9 @@ namespace Debugger.Tests {
ArrayRank="{Exception: Value is not an array}" ArrayRank="{Exception: Value is not an array}"
AsString="5.5" AsString="5.5"
Expression="d" Expression="d"
HasExpired="False"
IsArray="False" IsArray="False"
IsInteger="False" IsInteger="False"
IsInvalid="False"
IsNull="False" IsNull="False"
IsObject="False" IsObject="False"
IsPrimitive="True" IsPrimitive="True"

2
src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/StackOverflow.cs

@ -57,8 +57,8 @@ namespace Debugger.Tests {
<StackFrame <StackFrame
ArgumentCount="1" ArgumentCount="1"
Depth="0" Depth="0"
HasExpired="False"
HasSymbols="True" HasSymbols="True"
IsInvalid="False"
MethodInfo="Fun" MethodInfo="Fun"
NextStatement="StackOverflow.cs:21,3-21,4" /> NextStatement="StackOverflow.cs:21,3-21,4" />
</LastStackFrame> </LastStackFrame>

2
src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/ValueType.cs

@ -60,9 +60,9 @@ namespace Debugger.Tests {
ArrayRank="{Exception: Value is not an array}" ArrayRank="{Exception: Value is not an array}"
AsString="{Debugger.Tests.ValueType}" AsString="{Debugger.Tests.ValueType}"
Expression="this" Expression="this"
HasExpired="False"
IsArray="False" IsArray="False"
IsInteger="False" IsInteger="False"
IsInvalid="False"
IsNull="False" IsNull="False"
IsObject="True" IsObject="True"
IsPrimitive="False" IsPrimitive="False"

Loading…
Cancel
Save