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

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

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

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

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

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

@ -510,7 +510,7 @@ namespace ICSharpCode.SharpDevelop.Services @@ -510,7 +510,7 @@ namespace ICSharpCode.SharpDevelop.Services
if (currentTooltipRow != null && currentTooltipRow.IsShown) {
using(new PrintTimes("Update tooltip")) {
try {
Utils.DoEvents(debuggedProcess.DebuggeeState);
Utils.DoEvents(debuggedProcess);
AbstractNode updatedNode = ValueNode.Create(currentTooltipExpression);
currentTooltipRow.SetContentRecursive(updatedNode);
} catch (AbortedBecauseDebuggeeResumedException) {
@ -555,7 +555,7 @@ namespace ICSharpCode.SharpDevelop.Services @@ -555,7 +555,7 @@ namespace ICSharpCode.SharpDevelop.Services
DebuggerEventForm.Result result = DebuggerEventForm.Show(title, message, icon, canContinue);
// If the process was killed while the exception form was shown
if (e.Process.HasExpired) return;
if (e.Process.HasExited) return;
switch (result) {
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 @@ -83,7 +83,7 @@ namespace Debugger.AddIn.TreeModel
}
// Repaint and process user commands
Utils.DoEvents(process.DebuggeeState);
Utils.DoEvents(process);
}
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 @@ -87,13 +87,13 @@ namespace Debugger.AddIn.TreeModel
this.Collapse();
}
// Process user commands
Utils.DoEvents(process.DebuggeeState);
Utils.DoEvents(process);
// Repaint
if (HighPrecisionTimer.Now > nextRepaintTime) {
using(new PrintTime("Repainting Local Variables Pad")) {
try {
this.Tree.EndUpdate(); // Enable painting
Utils.DoEvents(process.DebuggeeState); // Paint
Utils.DoEvents(process); // Paint
} finally {
this.Tree.BeginUpdate(); // Disable painting
nextRepaintTime = HighPrecisionTimer.Now + workTime;

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

@ -17,19 +17,16 @@ namespace Debugger.AddIn.TreeModel @@ -17,19 +17,16 @@ namespace Debugger.AddIn.TreeModel
{
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) {
throw new ArgumentNullException();
}
if (debuggeeState.HasExpired) {
throw new System.Exception("State is expired before DoEvents");
}
DebuggeeState oldState = process.DebuggeeState;
//using(new PrintTimes("Application.DoEvents()"))
{
Application.DoEvents();
}
if (debuggeeState.HasExpired) {
DebuggeeState newState = process.DebuggeeState;
if (oldState != newState) {
LoggingService.Info("Aborted because debuggee resumed");
throw new AbortedBecauseDebuggeeResumedException();
}

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

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

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

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

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

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

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

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

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

@ -10,15 +10,17 @@ using System; @@ -10,15 +10,17 @@ using System;
namespace Debugger
{
/// <summary>
/// Unique identifier of the state of the debugee.
/// Changes when debuggee is stepped, but not when properity is evaluated.
/// Represents span of time in which the debugger state is assumed to
/// be unchanged.
/// </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;
bool hasExpired = false;
public event EventHandler Expired;
[Debugger.Tests.Ignore]
public Process Process {
@ -27,22 +29,6 @@ namespace Debugger @@ -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)
{
this.process = process;

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

@ -1,18 +0,0 @@ @@ -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 @@ -13,38 +13,22 @@ namespace Debugger
/// Holds information about the state of paused debugger.
/// Expires when when Continue is called on debugger.
/// </summary>
public class PauseSession: IExpirable
public class PauseSession: DebuggerObject
{
Process process;
PausedReason pausedReason;
bool hasExpired = false;
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 Process Process {
get { return process; }
}
public PausedReason PausedReason {
get {
return pausedReason;
}
get { return pausedReason; }
}
public PauseSession(PausedReason pausedReason)
public PauseSession(Process process, PausedReason pausedReason)
{
this.process = process;
this.pausedReason = pausedReason;
}
}

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

@ -56,7 +56,7 @@ namespace Debugger.Expressions @@ -56,7 +56,7 @@ namespace Debugger.Expressions
}
if (expressionCache.ContainsKey(this)) {
Value cachedResult = expressionCache[this];
if (!cachedResult.HasExpired) {
if (!cachedResult.IsInvalid) {
return cachedResult;
}
}
@ -66,7 +66,7 @@ namespace Debugger.Expressions @@ -66,7 +66,7 @@ namespace Debugger.Expressions
public Value Evaluate(StackFrame 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;

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

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

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

@ -55,7 +55,7 @@ namespace Debugger @@ -55,7 +55,7 @@ namespace Debugger
public ManagedCallback GetProcessCallbackInterface(ICorDebugProcess 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)");
return null;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Loading…
Cancel
Save