Browse Source

Added StackOverflow test.

Updated tests.  
Fixed null reference in Tread.SelectedStackFrame.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@2877 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
David Srbecký 19 years ago
parent
commit
4964163792
  1. 7
      src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Threads/Thread.cs
  2. 1
      src/AddIns/Misc/Debugger/Debugger.Tests/Project/Debugger.Tests.csproj
  3. 48
      src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/ArrayValue.cs
  4. 15
      src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Callstack.cs
  5. 112
      src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/FunctionArgumentVariables.cs
  6. 8
      src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/FunctionLifetime.cs
  7. 40
      src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/FunctionLocalVariables.cs
  8. 160
      src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/FunctionVariablesLifetime.cs
  9. 8
      src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Generics.cs
  10. 67
      src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/StackOverflow.cs
  11. 8
      src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/ValueType.cs

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

@ -235,9 +235,10 @@ namespace Debugger @@ -235,9 +235,10 @@ namespace Debugger
}
}
public IList<StackFrame> Callstack {
public IEnumerable<StackFrame> Callstack {
get {
return new List<StackFrame>(CallstackEnum).AsReadOnly();
// This should be enum since callstacks can get big
return CallstackEnum;
}
}
@ -267,7 +268,7 @@ namespace Debugger @@ -267,7 +268,7 @@ namespace Debugger
public StackFrame SelectedStackFrame {
get {
// Forum-20456: Do not return expired StackFrame
if (selectedStackFrame.HasExpired) return null;
if (selectedStackFrame != null && selectedStackFrame.HasExpired) return null;
return selectedStackFrame;
}
set {

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

@ -63,6 +63,7 @@ @@ -63,6 +63,7 @@
<Compile Include="Src\TestPrograms\PropertyVariableForm.cs" />
<Compile Include="Src\TestPrograms\SetIP.cs" />
<Compile Include="Src\TestPrograms\SimpleProgram.cs" />
<Compile Include="Src\TestPrograms\StackOverflow.cs" />
<Compile Include="Src\TestPrograms\Stepping.cs" />
<Compile Include="Src\TestPrograms\Symbols.cs" />
<Compile Include="Src\TestPrograms\ValueType.cs" />

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

@ -56,15 +56,15 @@ namespace Debugger.Tests { @@ -56,15 +56,15 @@ namespace Debugger.Tests {
<ArrayLenght>5</ArrayLenght>
<ArrayRank>1</ArrayRank>
<ArrayDimensions>[5]</ArrayDimensions>
<IsObject>False</IsObject>
<IsPrimitive>False</IsPrimitive>
<IsInteger>False</IsInteger>
<PrimitiveValue exception="Value is not a primitive type" />
<Expression>array</Expression>
<IsNull>False</IsNull>
<AsString>{System.Int32[]}</AsString>
<HasExpired>False</HasExpired>
<Type>System.Int32[]</Type>
<IsObject>False</IsObject>
<IsPrimitive>False</IsPrimitive>
<IsInteger>False</IsInteger>
<PrimitiveValue exception="Value is not a primitive type" />
</array>
<array_elements Type="Value[]" ToString="Debugger.Value[]">
<Item Type="Value" ToString="array[0] = 0">
@ -72,75 +72,75 @@ namespace Debugger.Tests { @@ -72,75 +72,75 @@ namespace Debugger.Tests {
<ArrayLenght exception="Value is not an array" />
<ArrayRank exception="Value is not an array" />
<ArrayDimensions exception="Value is not an array" />
<IsObject>False</IsObject>
<IsPrimitive>True</IsPrimitive>
<IsInteger>True</IsInteger>
<PrimitiveValue>0</PrimitiveValue>
<Expression>array[0]</Expression>
<IsNull>False</IsNull>
<AsString>0</AsString>
<HasExpired>False</HasExpired>
<Type>System.Int32</Type>
<IsObject>False</IsObject>
<IsPrimitive>True</IsPrimitive>
<IsInteger>True</IsInteger>
<PrimitiveValue>0</PrimitiveValue>
</Item>
<Item Type="Value" ToString="array[1] = 1">
<IsArray>False</IsArray>
<ArrayLenght exception="Value is not an array" />
<ArrayRank exception="Value is not an array" />
<ArrayDimensions exception="Value is not an array" />
<IsObject>False</IsObject>
<IsPrimitive>True</IsPrimitive>
<IsInteger>True</IsInteger>
<PrimitiveValue>1</PrimitiveValue>
<Expression>array[1]</Expression>
<IsNull>False</IsNull>
<AsString>1</AsString>
<HasExpired>False</HasExpired>
<Type>System.Int32</Type>
<IsObject>False</IsObject>
<IsPrimitive>True</IsPrimitive>
<IsInteger>True</IsInteger>
<PrimitiveValue>1</PrimitiveValue>
</Item>
<Item Type="Value" ToString="array[2] = 2">
<IsArray>False</IsArray>
<ArrayLenght exception="Value is not an array" />
<ArrayRank exception="Value is not an array" />
<ArrayDimensions exception="Value is not an array" />
<IsObject>False</IsObject>
<IsPrimitive>True</IsPrimitive>
<IsInteger>True</IsInteger>
<PrimitiveValue>2</PrimitiveValue>
<Expression>array[2]</Expression>
<IsNull>False</IsNull>
<AsString>2</AsString>
<HasExpired>False</HasExpired>
<Type>System.Int32</Type>
<IsObject>False</IsObject>
<IsPrimitive>True</IsPrimitive>
<IsInteger>True</IsInteger>
<PrimitiveValue>2</PrimitiveValue>
</Item>
<Item Type="Value" ToString="array[3] = 3">
<IsArray>False</IsArray>
<ArrayLenght exception="Value is not an array" />
<ArrayRank exception="Value is not an array" />
<ArrayDimensions exception="Value is not an array" />
<IsObject>False</IsObject>
<IsPrimitive>True</IsPrimitive>
<IsInteger>True</IsInteger>
<PrimitiveValue>3</PrimitiveValue>
<Expression>array[3]</Expression>
<IsNull>False</IsNull>
<AsString>3</AsString>
<HasExpired>False</HasExpired>
<Type>System.Int32</Type>
<IsObject>False</IsObject>
<IsPrimitive>True</IsPrimitive>
<IsInteger>True</IsInteger>
<PrimitiveValue>3</PrimitiveValue>
</Item>
<Item Type="Value" ToString="array[4] = 4">
<IsArray>False</IsArray>
<ArrayLenght exception="Value is not an array" />
<ArrayRank exception="Value is not an array" />
<ArrayDimensions exception="Value is not an array" />
<IsObject>False</IsObject>
<IsPrimitive>True</IsPrimitive>
<IsInteger>True</IsInteger>
<PrimitiveValue>4</PrimitiveValue>
<Expression>array[4]</Expression>
<IsNull>False</IsNull>
<AsString>4</AsString>
<HasExpired>False</HasExpired>
<Type>System.Int32</Type>
<IsObject>False</IsObject>
<IsPrimitive>True</IsPrimitive>
<IsInteger>True</IsInteger>
<PrimitiveValue>4</PrimitiveValue>
</Item>
</array_elements>
<ProcessExited />

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

@ -63,10 +63,10 @@ namespace Debugger.Tests { @@ -63,10 +63,10 @@ namespace Debugger.Tests {
<ModuleLoaded symbols="False">mscorlib.dll</ModuleLoaded>
<ModuleLoaded symbols="True">Callstack.exe</ModuleLoaded>
<DebuggingPaused>Break</DebuggingPaused>
<Callstack Type="ReadOnlyCollection`1" ToString="System.Collections.ObjectModel.ReadOnlyCollection`1[Debugger.StackFrame]">
<Count>3</Count>
<Callstack Type="&lt;get_CallstackEnum&gt;d__0" ToString="Debugger.Thread+&lt;get_CallstackEnum&gt;d__0">
<Item Type="StackFrame" ToString="Debugger.Tests.TestPrograms.Callstack.Sub2">
<MethodInfo>Sub2</MethodInfo>
<Depth>0</Depth>
<HasSymbols>True</HasSymbols>
<HasExpired>False</HasExpired>
<NextStatement>Start=26,4 End=26,40</NextStatement>
@ -74,6 +74,7 @@ namespace Debugger.Tests { @@ -74,6 +74,7 @@ namespace Debugger.Tests {
</Item>
<Item Type="StackFrame" ToString="Debugger.Tests.TestPrograms.Callstack.Sub1">
<MethodInfo>Sub1</MethodInfo>
<Depth>1</Depth>
<HasSymbols>True</HasSymbols>
<HasExpired>False</HasExpired>
<NextStatement>Start=21,4 End=21,11</NextStatement>
@ -81,6 +82,7 @@ namespace Debugger.Tests { @@ -81,6 +82,7 @@ namespace Debugger.Tests {
</Item>
<Item Type="StackFrame" ToString="Debugger.Tests.TestPrograms.Callstack.Main">
<MethodInfo>Main</MethodInfo>
<Depth>2</Depth>
<HasSymbols>True</HasSymbols>
<HasExpired>False</HasExpired>
<NextStatement>Start=16,4 End=16,11</NextStatement>
@ -88,10 +90,10 @@ namespace Debugger.Tests { @@ -88,10 +90,10 @@ namespace Debugger.Tests {
</Item>
</Callstack>
<DebuggingPaused>StepComplete</DebuggingPaused>
<Callstack Type="ReadOnlyCollection`1" ToString="System.Collections.ObjectModel.ReadOnlyCollection`1[Debugger.StackFrame]">
<Count>2</Count>
<Callstack Type="&lt;get_CallstackEnum&gt;d__0" ToString="Debugger.Thread+&lt;get_CallstackEnum&gt;d__0">
<Item Type="StackFrame" ToString="Debugger.Tests.TestPrograms.Callstack.Sub1">
<MethodInfo>Sub1</MethodInfo>
<Depth>0</Depth>
<HasSymbols>True</HasSymbols>
<HasExpired>False</HasExpired>
<NextStatement>Start=21,4 End=21,11</NextStatement>
@ -99,6 +101,7 @@ namespace Debugger.Tests { @@ -99,6 +101,7 @@ namespace Debugger.Tests {
</Item>
<Item Type="StackFrame" ToString="Debugger.Tests.TestPrograms.Callstack.Main">
<MethodInfo>Main</MethodInfo>
<Depth>1</Depth>
<HasSymbols>True</HasSymbols>
<HasExpired>False</HasExpired>
<NextStatement>Start=16,4 End=16,11</NextStatement>
@ -106,10 +109,10 @@ namespace Debugger.Tests { @@ -106,10 +109,10 @@ namespace Debugger.Tests {
</Item>
</Callstack>
<DebuggingPaused>StepComplete</DebuggingPaused>
<Callstack Type="ReadOnlyCollection`1" ToString="System.Collections.ObjectModel.ReadOnlyCollection`1[Debugger.StackFrame]">
<Count>1</Count>
<Callstack Type="&lt;get_CallstackEnum&gt;d__0" ToString="Debugger.Thread+&lt;get_CallstackEnum&gt;d__0">
<Item Type="StackFrame" ToString="Debugger.Tests.TestPrograms.Callstack.Main">
<MethodInfo>Main</MethodInfo>
<Depth>0</Depth>
<HasSymbols>True</HasSymbols>
<HasExpired>False</HasExpired>
<NextStatement>Start=16,4 End=16,11</NextStatement>

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

@ -103,135 +103,135 @@ namespace Debugger.Tests { @@ -103,135 +103,135 @@ namespace Debugger.Tests {
<ArrayLenght exception="Value is not an array" />
<ArrayRank exception="Value is not an array" />
<ArrayDimensions exception="Value is not an array" />
<IsObject>False</IsObject>
<IsPrimitive>True</IsPrimitive>
<IsInteger>True</IsInteger>
<PrimitiveValue>1</PrimitiveValue>
<Expression>i</Expression>
<IsNull>False</IsNull>
<AsString>1</AsString>
<HasExpired>False</HasExpired>
<Type>System.Int32</Type>
<IsObject>False</IsObject>
<IsPrimitive>True</IsPrimitive>
<IsInteger>True</IsInteger>
<PrimitiveValue>1</PrimitiveValue>
</Item>
<Item Type="Value" ToString="s = A">
<IsArray>False</IsArray>
<ArrayLenght exception="Value is not an array" />
<ArrayRank exception="Value is not an array" />
<ArrayDimensions exception="Value is not an array" />
<IsObject>False</IsObject>
<IsPrimitive>True</IsPrimitive>
<IsInteger>False</IsInteger>
<PrimitiveValue>A</PrimitiveValue>
<Expression>s</Expression>
<IsNull>False</IsNull>
<AsString>A</AsString>
<HasExpired>False</HasExpired>
<Type>System.String</Type>
<IsObject>False</IsObject>
<IsPrimitive>True</IsPrimitive>
<IsInteger>False</IsInteger>
<PrimitiveValue>A</PrimitiveValue>
</Item>
<Item Type="Value" ToString="s_null = &lt;null&gt;">
<IsArray>False</IsArray>
<ArrayLenght exception="Value is not an array" />
<ArrayRank exception="Value is not an array" />
<ArrayDimensions exception="Value is not an array" />
<IsObject>False</IsObject>
<IsPrimitive>False</IsPrimitive>
<IsInteger>False</IsInteger>
<PrimitiveValue exception="Value is not a primitive type" />
<Expression>s_null</Expression>
<IsNull>True</IsNull>
<AsString>&lt;null&gt;</AsString>
<HasExpired>False</HasExpired>
<Type>System.Object</Type>
<IsObject>False</IsObject>
<IsPrimitive>False</IsPrimitive>
<IsInteger>False</IsInteger>
<PrimitiveValue exception="Value is not a primitive type" />
</Item>
<Item Type="Value" ToString="ref_i = 2">
<IsArray>False</IsArray>
<ArrayLenght exception="Value is not an array" />
<ArrayRank exception="Value is not an array" />
<ArrayDimensions exception="Value is not an array" />
<IsObject>False</IsObject>
<IsPrimitive>True</IsPrimitive>
<IsInteger>True</IsInteger>
<PrimitiveValue>2</PrimitiveValue>
<Expression>ref_i</Expression>
<IsNull>False</IsNull>
<AsString>2</AsString>
<HasExpired>False</HasExpired>
<Type>System.Int32</Type>
<IsObject>False</IsObject>
<IsPrimitive>True</IsPrimitive>
<IsInteger>True</IsInteger>
<PrimitiveValue>2</PrimitiveValue>
</Item>
<Item Type="Value" ToString="out_i = 3">
<IsArray>False</IsArray>
<ArrayLenght exception="Value is not an array" />
<ArrayRank exception="Value is not an array" />
<ArrayDimensions exception="Value is not an array" />
<IsObject>False</IsObject>
<IsPrimitive>True</IsPrimitive>
<IsInteger>True</IsInteger>
<PrimitiveValue>3</PrimitiveValue>
<Expression>out_i</Expression>
<IsNull>False</IsNull>
<AsString>3</AsString>
<HasExpired>False</HasExpired>
<Type>System.Int32</Type>
<IsObject>False</IsObject>
<IsPrimitive>True</IsPrimitive>
<IsInteger>True</IsInteger>
<PrimitiveValue>3</PrimitiveValue>
</Item>
<Item Type="Value" ToString="out_i2 = 0">
<IsArray>False</IsArray>
<ArrayLenght exception="Value is not an array" />
<ArrayRank exception="Value is not an array" />
<ArrayDimensions exception="Value is not an array" />
<IsObject>False</IsObject>
<IsPrimitive>True</IsPrimitive>
<IsInteger>True</IsInteger>
<PrimitiveValue>0</PrimitiveValue>
<Expression>out_i2</Expression>
<IsNull>False</IsNull>
<AsString>0</AsString>
<HasExpired>False</HasExpired>
<Type>System.Int32</Type>
<IsObject>False</IsObject>
<IsPrimitive>True</IsPrimitive>
<IsInteger>True</IsInteger>
<PrimitiveValue>0</PrimitiveValue>
</Item>
<Item Type="Value" ToString="ref_s = B">
<IsArray>False</IsArray>
<ArrayLenght exception="Value is not an array" />
<ArrayRank exception="Value is not an array" />
<ArrayDimensions exception="Value is not an array" />
<IsObject>False</IsObject>
<IsPrimitive>True</IsPrimitive>
<IsInteger>False</IsInteger>
<PrimitiveValue>B</PrimitiveValue>
<Expression>ref_s</Expression>
<IsNull>False</IsNull>
<AsString>B</AsString>
<HasExpired>False</HasExpired>
<Type>System.String</Type>
<IsObject>False</IsObject>
<IsPrimitive>True</IsPrimitive>
<IsInteger>False</IsInteger>
<PrimitiveValue>B</PrimitiveValue>
</Item>
<Item Type="Value" ToString="iNull = {System.Nullable&lt;System.Int32&gt;}">
<IsArray>False</IsArray>
<ArrayLenght exception="Value is not an array" />
<ArrayRank exception="Value is not an array" />
<ArrayDimensions exception="Value is not an array" />
<IsObject>True</IsObject>
<IsPrimitive>False</IsPrimitive>
<IsInteger>False</IsInteger>
<PrimitiveValue exception="Value is not a primitive type" />
<Expression>iNull</Expression>
<IsNull>False</IsNull>
<AsString>{System.Nullable&lt;System.Int32&gt;}</AsString>
<HasExpired>False</HasExpired>
<Type>System.Nullable&lt;System.Int32&gt;</Type>
<IsObject>True</IsObject>
<IsPrimitive>False</IsPrimitive>
<IsInteger>False</IsInteger>
<PrimitiveValue exception="Value is not a primitive type" />
</Item>
<Item Type="Value" ToString="iNull_null = {System.Nullable&lt;System.Int32&gt;}">
<IsArray>False</IsArray>
<ArrayLenght exception="Value is not an array" />
<ArrayRank exception="Value is not an array" />
<ArrayDimensions exception="Value is not an array" />
<IsObject>True</IsObject>
<IsPrimitive>False</IsPrimitive>
<IsInteger>False</IsInteger>
<PrimitiveValue exception="Value is not a primitive type" />
<Expression>iNull_null</Expression>
<IsNull>False</IsNull>
<AsString>{System.Nullable&lt;System.Int32&gt;}</AsString>
<HasExpired>False</HasExpired>
<Type>System.Nullable&lt;System.Int32&gt;</Type>
<IsObject>True</IsObject>
<IsPrimitive>False</IsPrimitive>
<IsInteger>False</IsInteger>
<PrimitiveValue exception="Value is not a primitive type" />
</Item>
</Arguments>
<DebuggingPaused>Break</DebuggingPaused>
@ -241,15 +241,15 @@ namespace Debugger.Tests { @@ -241,15 +241,15 @@ namespace Debugger.Tests {
<ArrayLenght>0</ArrayLenght>
<ArrayRank>1</ArrayRank>
<ArrayDimensions>[0]</ArrayDimensions>
<IsObject>False</IsObject>
<IsPrimitive>False</IsPrimitive>
<IsInteger>False</IsInteger>
<PrimitiveValue exception="Value is not a primitive type" />
<Expression>args</Expression>
<IsNull>False</IsNull>
<AsString>{System.String[]}</AsString>
<HasExpired>False</HasExpired>
<Type>System.String[]</Type>
<IsObject>False</IsObject>
<IsPrimitive>False</IsPrimitive>
<IsInteger>False</IsInteger>
<PrimitiveValue exception="Value is not a primitive type" />
</Item>
</Arguments>
<DebuggingPaused>Break</DebuggingPaused>
@ -259,15 +259,15 @@ namespace Debugger.Tests { @@ -259,15 +259,15 @@ namespace Debugger.Tests {
<ArrayLenght>1</ArrayLenght>
<ArrayRank>1</ArrayRank>
<ArrayDimensions>[1]</ArrayDimensions>
<IsObject>False</IsObject>
<IsPrimitive>False</IsPrimitive>
<IsInteger>False</IsInteger>
<PrimitiveValue exception="Value is not a primitive type" />
<Expression>args</Expression>
<IsNull>False</IsNull>
<AsString>{System.String[]}</AsString>
<HasExpired>False</HasExpired>
<Type>System.String[]</Type>
<IsObject>False</IsObject>
<IsPrimitive>False</IsPrimitive>
<IsInteger>False</IsInteger>
<PrimitiveValue exception="Value is not a primitive type" />
</Item>
</Arguments>
<DebuggingPaused>Break</DebuggingPaused>
@ -277,15 +277,15 @@ namespace Debugger.Tests { @@ -277,15 +277,15 @@ namespace Debugger.Tests {
<ArrayLenght>2</ArrayLenght>
<ArrayRank>1</ArrayRank>
<ArrayDimensions>[2]</ArrayDimensions>
<IsObject>False</IsObject>
<IsPrimitive>False</IsPrimitive>
<IsInteger>False</IsInteger>
<PrimitiveValue exception="Value is not a primitive type" />
<Expression>args</Expression>
<IsNull>False</IsNull>
<AsString>{System.String[]}</AsString>
<HasExpired>False</HasExpired>
<Type>System.String[]</Type>
<IsObject>False</IsObject>
<IsPrimitive>False</IsPrimitive>
<IsInteger>False</IsInteger>
<PrimitiveValue exception="Value is not a primitive type" />
</Item>
</Arguments>
<DebuggingPaused>Break</DebuggingPaused>
@ -295,30 +295,30 @@ namespace Debugger.Tests { @@ -295,30 +295,30 @@ namespace Debugger.Tests {
<ArrayLenght exception="Value is not an array" />
<ArrayRank exception="Value is not an array" />
<ArrayDimensions exception="Value is not an array" />
<IsObject>False</IsObject>
<IsPrimitive>True</IsPrimitive>
<IsInteger>True</IsInteger>
<PrimitiveValue>1</PrimitiveValue>
<Expression>i</Expression>
<IsNull>False</IsNull>
<AsString>1</AsString>
<HasExpired>False</HasExpired>
<Type>System.Int32</Type>
<IsObject>False</IsObject>
<IsPrimitive>True</IsPrimitive>
<IsInteger>True</IsInteger>
<PrimitiveValue>1</PrimitiveValue>
</Item>
<Item Type="Value" ToString="s = A">
<IsArray>False</IsArray>
<ArrayLenght exception="Value is not an array" />
<ArrayRank exception="Value is not an array" />
<ArrayDimensions exception="Value is not an array" />
<IsObject>False</IsObject>
<IsPrimitive>True</IsPrimitive>
<IsInteger>False</IsInteger>
<PrimitiveValue>A</PrimitiveValue>
<Expression>s</Expression>
<IsNull>False</IsNull>
<AsString>A</AsString>
<HasExpired>False</HasExpired>
<Type>System.String</Type>
<IsObject>False</IsObject>
<IsPrimitive>True</IsPrimitive>
<IsInteger>False</IsInteger>
<PrimitiveValue>A</PrimitiveValue>
</Item>
</Arguments>
<ProcessExited />

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

@ -77,6 +77,7 @@ namespace Debugger.Tests { @@ -77,6 +77,7 @@ namespace Debugger.Tests {
<DebuggingPaused>Break</DebuggingPaused>
<SelectedStackFrame Type="StackFrame" ToString="Debugger.Tests.TestPrograms.FunctionLifetime.Function">
<MethodInfo>Function</MethodInfo>
<Depth>0</Depth>
<HasSymbols>True</HasSymbols>
<HasExpired>False</HasExpired>
<NextStatement>Start=22,4 End=22,40</NextStatement>
@ -85,6 +86,7 @@ namespace Debugger.Tests { @@ -85,6 +86,7 @@ namespace Debugger.Tests {
<DebuggingPaused>Break</DebuggingPaused>
<Old_StackFrame Type="StackFrame" ToString="Debugger.Tests.TestPrograms.FunctionLifetime.Function">
<MethodInfo>Function</MethodInfo>
<Depth>0</Depth>
<HasSymbols>True</HasSymbols>
<HasExpired>True</HasExpired>
<NextStatement exception="StackFrame has expired" />
@ -92,6 +94,7 @@ namespace Debugger.Tests { @@ -92,6 +94,7 @@ namespace Debugger.Tests {
</Old_StackFrame>
<SelectedStackFrame Type="StackFrame" ToString="Debugger.Tests.TestPrograms.FunctionLifetime.SubFunction">
<MethodInfo>SubFunction</MethodInfo>
<Depth>0</Depth>
<HasSymbols>True</HasSymbols>
<HasExpired>False</HasExpired>
<NextStatement>Start=29,4 End=29,40</NextStatement>
@ -100,6 +103,7 @@ namespace Debugger.Tests { @@ -100,6 +103,7 @@ namespace Debugger.Tests {
<DebuggingPaused>Break</DebuggingPaused>
<Old_StackFrame Type="StackFrame" ToString="Debugger.Tests.TestPrograms.FunctionLifetime.Function">
<MethodInfo>Function</MethodInfo>
<Depth>0</Depth>
<HasSymbols>True</HasSymbols>
<HasExpired>True</HasExpired>
<NextStatement exception="StackFrame has expired" />
@ -107,6 +111,7 @@ namespace Debugger.Tests { @@ -107,6 +111,7 @@ namespace Debugger.Tests {
</Old_StackFrame>
<SelectedStackFrame Type="StackFrame" ToString="Debugger.Tests.TestPrograms.FunctionLifetime.Function">
<MethodInfo>Function</MethodInfo>
<Depth>0</Depth>
<HasSymbols>True</HasSymbols>
<HasExpired>False</HasExpired>
<NextStatement>Start=24,4 End=24,40</NextStatement>
@ -115,6 +120,7 @@ namespace Debugger.Tests { @@ -115,6 +120,7 @@ namespace Debugger.Tests {
<DebuggingPaused>Break</DebuggingPaused>
<Main Type="StackFrame" ToString="Debugger.Tests.TestPrograms.FunctionLifetime.Main">
<MethodInfo>Main</MethodInfo>
<Depth>0</Depth>
<HasSymbols>True</HasSymbols>
<HasExpired>False</HasExpired>
<NextStatement>Start=17,4 End=17,40</NextStatement>
@ -122,6 +128,7 @@ namespace Debugger.Tests { @@ -122,6 +128,7 @@ namespace Debugger.Tests {
</Main>
<Old_StackFrame Type="StackFrame" ToString="Debugger.Tests.TestPrograms.FunctionLifetime.Function">
<MethodInfo>Function</MethodInfo>
<Depth>0</Depth>
<HasSymbols>True</HasSymbols>
<HasExpired>True</HasExpired>
<NextStatement exception="StackFrame has expired" />
@ -129,6 +136,7 @@ namespace Debugger.Tests { @@ -129,6 +136,7 @@ namespace Debugger.Tests {
</Old_StackFrame>
<SelectedStackFrame Type="StackFrame" ToString="Debugger.Tests.TestPrograms.FunctionLifetime.Main">
<MethodInfo>Main</MethodInfo>
<Depth>0</Depth>
<HasSymbols>True</HasSymbols>
<HasExpired>False</HasExpired>
<NextStatement>Start=17,4 End=17,40</NextStatement>

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

@ -56,75 +56,75 @@ namespace Debugger.Tests { @@ -56,75 +56,75 @@ namespace Debugger.Tests {
<ArrayLenght exception="Value is not an array" />
<ArrayRank exception="Value is not an array" />
<ArrayDimensions exception="Value is not an array" />
<IsObject>False</IsObject>
<IsPrimitive>True</IsPrimitive>
<IsInteger>True</IsInteger>
<PrimitiveValue>0</PrimitiveValue>
<Expression>i</Expression>
<IsNull>False</IsNull>
<AsString>0</AsString>
<HasExpired>False</HasExpired>
<Type>System.Int32</Type>
<IsObject>False</IsObject>
<IsPrimitive>True</IsPrimitive>
<IsInteger>True</IsInteger>
<PrimitiveValue>0</PrimitiveValue>
</Item>
<Item Type="Value" ToString="s = S">
<IsArray>False</IsArray>
<ArrayLenght exception="Value is not an array" />
<ArrayRank exception="Value is not an array" />
<ArrayDimensions exception="Value is not an array" />
<IsObject>False</IsObject>
<IsPrimitive>True</IsPrimitive>
<IsInteger>False</IsInteger>
<PrimitiveValue>S</PrimitiveValue>
<Expression>s</Expression>
<IsNull>False</IsNull>
<AsString>S</AsString>
<HasExpired>False</HasExpired>
<Type>System.String</Type>
<IsObject>False</IsObject>
<IsPrimitive>True</IsPrimitive>
<IsInteger>False</IsInteger>
<PrimitiveValue>S</PrimitiveValue>
</Item>
<Item Type="Value" ToString="args = {System.String[]}">
<IsArray>True</IsArray>
<ArrayLenght>1</ArrayLenght>
<ArrayRank>1</ArrayRank>
<ArrayDimensions>[1]</ArrayDimensions>
<IsObject>False</IsObject>
<IsPrimitive>False</IsPrimitive>
<IsInteger>False</IsInteger>
<PrimitiveValue exception="Value is not a primitive type" />
<Expression>args</Expression>
<IsNull>False</IsNull>
<AsString>{System.String[]}</AsString>
<HasExpired>False</HasExpired>
<Type>System.String[]</Type>
<IsObject>False</IsObject>
<IsPrimitive>False</IsPrimitive>
<IsInteger>False</IsInteger>
<PrimitiveValue exception="Value is not a primitive type" />
</Item>
<Item Type="Value" ToString="n = &lt;null&gt;">
<IsArray>False</IsArray>
<ArrayLenght exception="Value is not an array" />
<ArrayRank exception="Value is not an array" />
<ArrayDimensions exception="Value is not an array" />
<IsObject>False</IsObject>
<IsPrimitive>False</IsPrimitive>
<IsInteger>False</IsInteger>
<PrimitiveValue exception="Value is not a primitive type" />
<Expression>n</Expression>
<IsNull>True</IsNull>
<AsString>&lt;null&gt;</AsString>
<HasExpired>False</HasExpired>
<Type>System.Object</Type>
<IsObject>False</IsObject>
<IsPrimitive>False</IsPrimitive>
<IsInteger>False</IsInteger>
<PrimitiveValue exception="Value is not a primitive type" />
</Item>
<Item Type="Value" ToString="o = {System.Object}">
<IsArray>False</IsArray>
<ArrayLenght exception="Value is not an array" />
<ArrayRank exception="Value is not an array" />
<ArrayDimensions exception="Value is not an array" />
<IsObject>True</IsObject>
<IsPrimitive>False</IsPrimitive>
<IsInteger>False</IsInteger>
<PrimitiveValue exception="Value is not a primitive type" />
<Expression>o</Expression>
<IsNull>False</IsNull>
<AsString>{System.Object}</AsString>
<HasExpired>False</HasExpired>
<Type>System.Object</Type>
<IsObject>True</IsObject>
<IsPrimitive>False</IsPrimitive>
<IsInteger>False</IsInteger>
<PrimitiveValue exception="Value is not a primitive type" />
</Item>
</LocalVariables>
<ProcessExited />

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

@ -109,45 +109,45 @@ namespace Debugger.Tests { @@ -109,45 +109,45 @@ namespace Debugger.Tests {
<ArrayLenght exception="Value is not an array" />
<ArrayRank exception="Value is not an array" />
<ArrayDimensions exception="Value is not an array" />
<IsObject>False</IsObject>
<IsPrimitive>True</IsPrimitive>
<IsInteger>True</IsInteger>
<PrimitiveValue>1</PrimitiveValue>
<Expression>argument</Expression>
<IsNull>False</IsNull>
<AsString>1</AsString>
<HasExpired>False</HasExpired>
<Type>System.Int32</Type>
<IsObject>False</IsObject>
<IsPrimitive>True</IsPrimitive>
<IsInteger>True</IsInteger>
<PrimitiveValue>1</PrimitiveValue>
</argument>
<local Type="Value" ToString="local = 2">
<IsArray>False</IsArray>
<ArrayLenght exception="Value is not an array" />
<ArrayRank exception="Value is not an array" />
<ArrayDimensions exception="Value is not an array" />
<IsObject>False</IsObject>
<IsPrimitive>True</IsPrimitive>
<IsInteger>True</IsInteger>
<PrimitiveValue>2</PrimitiveValue>
<Expression>local</Expression>
<IsNull>False</IsNull>
<AsString>2</AsString>
<HasExpired>False</HasExpired>
<Type>System.Int32</Type>
<IsObject>False</IsObject>
<IsPrimitive>True</IsPrimitive>
<IsInteger>True</IsInteger>
<PrimitiveValue>2</PrimitiveValue>
</local>
<_x0040_class Type="Value" ToString="this.class = 3">
<IsArray>False</IsArray>
<ArrayLenght exception="Value is not an array" />
<ArrayRank exception="Value is not an array" />
<ArrayDimensions exception="Value is not an array" />
<IsObject>False</IsObject>
<IsPrimitive>True</IsPrimitive>
<IsInteger>True</IsInteger>
<PrimitiveValue>3</PrimitiveValue>
<Expression>this.class</Expression>
<IsNull>False</IsNull>
<AsString>3</AsString>
<HasExpired>False</HasExpired>
<Type>System.Int32</Type>
<IsObject>False</IsObject>
<IsPrimitive>True</IsPrimitive>
<IsInteger>True</IsInteger>
<PrimitiveValue>3</PrimitiveValue>
</_x0040_class>
<DebuggingPaused>Break</DebuggingPaused>
<argument Type="Value" ToString_exception="Value has expired">
@ -155,60 +155,60 @@ namespace Debugger.Tests { @@ -155,60 +155,60 @@ namespace Debugger.Tests {
<ArrayLenght exception="Value has expired" />
<ArrayRank exception="Value has expired" />
<ArrayDimensions exception="Value has expired" />
<IsObject exception="Value has expired" />
<IsPrimitive exception="Value has expired" />
<IsInteger exception="Value has expired" />
<PrimitiveValue exception="Value has expired" />
<Expression>argument</Expression>
<IsNull exception="Value has expired" />
<AsString exception="Value has expired" />
<HasExpired>True</HasExpired>
<Type>System.Int32</Type>
<IsObject exception="Value has expired" />
<IsPrimitive exception="Value has expired" />
<IsInteger exception="Value has expired" />
<PrimitiveValue exception="Value has expired" />
</argument>
<local Type="Value" ToString_exception="Value has expired">
<IsArray exception="Value has expired" />
<ArrayLenght exception="Value has expired" />
<ArrayRank exception="Value has expired" />
<ArrayDimensions exception="Value has expired" />
<IsObject exception="Value has expired" />
<IsPrimitive exception="Value has expired" />
<IsInteger exception="Value has expired" />
<PrimitiveValue exception="Value has expired" />
<Expression>local</Expression>
<IsNull exception="Value has expired" />
<AsString exception="Value has expired" />
<HasExpired>True</HasExpired>
<Type>System.Int32</Type>
<IsObject exception="Value has expired" />
<IsPrimitive exception="Value has expired" />
<IsInteger exception="Value has expired" />
<PrimitiveValue exception="Value has expired" />
</local>
<_x0040_class Type="Value" ToString_exception="Value has expired">
<IsArray exception="Value has expired" />
<ArrayLenght exception="Value has expired" />
<ArrayRank exception="Value has expired" />
<ArrayDimensions exception="Value has expired" />
<IsObject exception="Value has expired" />
<IsPrimitive exception="Value has expired" />
<IsInteger exception="Value has expired" />
<PrimitiveValue exception="Value has expired" />
<Expression>this.class</Expression>
<IsNull exception="Value has expired" />
<AsString exception="Value has expired" />
<HasExpired>True</HasExpired>
<Type>System.Int32</Type>
<IsObject exception="Value has expired" />
<IsPrimitive exception="Value has expired" />
<IsInteger exception="Value has expired" />
<PrimitiveValue exception="Value has expired" />
</_x0040_class>
<localInSubFunction Type="Value" ToString="localInSubFunction = 4">
<IsArray>False</IsArray>
<ArrayLenght exception="Value is not an array" />
<ArrayRank exception="Value is not an array" />
<ArrayDimensions exception="Value is not an array" />
<IsObject>False</IsObject>
<IsPrimitive>True</IsPrimitive>
<IsInteger>True</IsInteger>
<PrimitiveValue>4</PrimitiveValue>
<Expression>localInSubFunction</Expression>
<IsNull>False</IsNull>
<AsString>4</AsString>
<HasExpired>False</HasExpired>
<Type>System.Int32</Type>
<IsObject>False</IsObject>
<IsPrimitive>True</IsPrimitive>
<IsInteger>True</IsInteger>
<PrimitiveValue>4</PrimitiveValue>
</localInSubFunction>
<DebuggingPaused>Break</DebuggingPaused>
<argument Type="Value" ToString_exception="Value has expired">
@ -216,60 +216,60 @@ namespace Debugger.Tests { @@ -216,60 +216,60 @@ namespace Debugger.Tests {
<ArrayLenght exception="Value has expired" />
<ArrayRank exception="Value has expired" />
<ArrayDimensions exception="Value has expired" />
<IsObject exception="Value has expired" />
<IsPrimitive exception="Value has expired" />
<IsInteger exception="Value has expired" />
<PrimitiveValue exception="Value has expired" />
<Expression>argument</Expression>
<IsNull exception="Value has expired" />
<AsString exception="Value has expired" />
<HasExpired>True</HasExpired>
<Type>System.Int32</Type>
<IsObject exception="Value has expired" />
<IsPrimitive exception="Value has expired" />
<IsInteger exception="Value has expired" />
<PrimitiveValue exception="Value has expired" />
</argument>
<local Type="Value" ToString_exception="Value has expired">
<IsArray exception="Value has expired" />
<ArrayLenght exception="Value has expired" />
<ArrayRank exception="Value has expired" />
<ArrayDimensions exception="Value has expired" />
<IsObject exception="Value has expired" />
<IsPrimitive exception="Value has expired" />
<IsInteger exception="Value has expired" />
<PrimitiveValue exception="Value has expired" />
<Expression>local</Expression>
<IsNull exception="Value has expired" />
<AsString exception="Value has expired" />
<HasExpired>True</HasExpired>
<Type>System.Int32</Type>
<IsObject exception="Value has expired" />
<IsPrimitive exception="Value has expired" />
<IsInteger exception="Value has expired" />
<PrimitiveValue exception="Value has expired" />
</local>
<_x0040_class Type="Value" ToString_exception="Value has expired">
<IsArray exception="Value has expired" />
<ArrayLenght exception="Value has expired" />
<ArrayRank exception="Value has expired" />
<ArrayDimensions exception="Value has expired" />
<IsObject exception="Value has expired" />
<IsPrimitive exception="Value has expired" />
<IsInteger exception="Value has expired" />
<PrimitiveValue exception="Value has expired" />
<Expression>this.class</Expression>
<IsNull exception="Value has expired" />
<AsString exception="Value has expired" />
<HasExpired>True</HasExpired>
<Type>System.Int32</Type>
<IsObject exception="Value has expired" />
<IsPrimitive exception="Value has expired" />
<IsInteger exception="Value has expired" />
<PrimitiveValue exception="Value has expired" />
</_x0040_class>
<localInSubFunction Type="Value" ToString_exception="Value has expired">
<IsArray exception="Value has expired" />
<ArrayLenght exception="Value has expired" />
<ArrayRank exception="Value has expired" />
<ArrayDimensions exception="Value has expired" />
<IsObject exception="Value has expired" />
<IsPrimitive exception="Value has expired" />
<IsInteger exception="Value has expired" />
<PrimitiveValue exception="Value has expired" />
<Expression>localInSubFunction</Expression>
<IsNull exception="Value has expired" />
<AsString exception="Value has expired" />
<HasExpired>True</HasExpired>
<Type>System.Int32</Type>
<IsObject exception="Value has expired" />
<IsPrimitive exception="Value has expired" />
<IsInteger exception="Value has expired" />
<PrimitiveValue exception="Value has expired" />
</localInSubFunction>
<DebuggingPaused>Break</DebuggingPaused>
<argument Type="Value" ToString_exception="Value has expired">
@ -277,75 +277,75 @@ namespace Debugger.Tests { @@ -277,75 +277,75 @@ namespace Debugger.Tests {
<ArrayLenght exception="Value has expired" />
<ArrayRank exception="Value has expired" />
<ArrayDimensions exception="Value has expired" />
<IsObject exception="Value has expired" />
<IsPrimitive exception="Value has expired" />
<IsInteger exception="Value has expired" />
<PrimitiveValue exception="Value has expired" />
<Expression>argument</Expression>
<IsNull exception="Value has expired" />
<AsString exception="Value has expired" />
<HasExpired>True</HasExpired>
<Type>System.Int32</Type>
<IsObject exception="Value has expired" />
<IsPrimitive exception="Value has expired" />
<IsInteger exception="Value has expired" />
<PrimitiveValue exception="Value has expired" />
</argument>
<local Type="Value" ToString_exception="Value has expired">
<IsArray exception="Value has expired" />
<ArrayLenght exception="Value has expired" />
<ArrayRank exception="Value has expired" />
<ArrayDimensions exception="Value has expired" />
<IsObject exception="Value has expired" />
<IsPrimitive exception="Value has expired" />
<IsInteger exception="Value has expired" />
<PrimitiveValue exception="Value has expired" />
<Expression>local</Expression>
<IsNull exception="Value has expired" />
<AsString exception="Value has expired" />
<HasExpired>True</HasExpired>
<Type>System.Int32</Type>
<IsObject exception="Value has expired" />
<IsPrimitive exception="Value has expired" />
<IsInteger exception="Value has expired" />
<PrimitiveValue exception="Value has expired" />
</local>
<_x0040_class Type="Value" ToString_exception="Value has expired">
<IsArray exception="Value has expired" />
<ArrayLenght exception="Value has expired" />
<ArrayRank exception="Value has expired" />
<ArrayDimensions exception="Value has expired" />
<IsObject exception="Value has expired" />
<IsPrimitive exception="Value has expired" />
<IsInteger exception="Value has expired" />
<PrimitiveValue exception="Value has expired" />
<Expression>this.class</Expression>
<IsNull exception="Value has expired" />
<AsString exception="Value has expired" />
<HasExpired>True</HasExpired>
<Type>System.Int32</Type>
<IsObject exception="Value has expired" />
<IsPrimitive exception="Value has expired" />
<IsInteger exception="Value has expired" />
<PrimitiveValue exception="Value has expired" />
</_x0040_class>
<localInSubFunction Type="Value" ToString_exception="Value has expired">
<IsArray exception="Value has expired" />
<ArrayLenght exception="Value has expired" />
<ArrayRank exception="Value has expired" />
<ArrayDimensions exception="Value has expired" />
<IsObject exception="Value has expired" />
<IsPrimitive exception="Value has expired" />
<IsInteger exception="Value has expired" />
<PrimitiveValue exception="Value has expired" />
<Expression>localInSubFunction</Expression>
<IsNull exception="Value has expired" />
<AsString exception="Value has expired" />
<HasExpired>True</HasExpired>
<Type>System.Int32</Type>
<IsObject exception="Value has expired" />
<IsPrimitive exception="Value has expired" />
<IsInteger exception="Value has expired" />
<PrimitiveValue exception="Value has expired" />
</localInSubFunction>
<localInSubFunction_x0028_new_x0029_ Type="Value" ToString="localInSubFunction = 4">
<IsArray>False</IsArray>
<ArrayLenght exception="Value is not an array" />
<ArrayRank exception="Value is not an array" />
<ArrayDimensions exception="Value is not an array" />
<IsObject>False</IsObject>
<IsPrimitive>True</IsPrimitive>
<IsInteger>True</IsInteger>
<PrimitiveValue>4</PrimitiveValue>
<Expression>localInSubFunction</Expression>
<IsNull>False</IsNull>
<AsString>4</AsString>
<HasExpired>False</HasExpired>
<Type>System.Int32</Type>
<IsObject>False</IsObject>
<IsPrimitive>True</IsPrimitive>
<IsInteger>True</IsInteger>
<PrimitiveValue>4</PrimitiveValue>
</localInSubFunction_x0028_new_x0029_>
<DebuggingPaused>Break</DebuggingPaused>
<argument Type="Value" ToString_exception="Value has expired">
@ -353,60 +353,60 @@ namespace Debugger.Tests { @@ -353,60 +353,60 @@ namespace Debugger.Tests {
<ArrayLenght exception="Value has expired" />
<ArrayRank exception="Value has expired" />
<ArrayDimensions exception="Value has expired" />
<IsObject exception="Value has expired" />
<IsPrimitive exception="Value has expired" />
<IsInteger exception="Value has expired" />
<PrimitiveValue exception="Value has expired" />
<Expression>argument</Expression>
<IsNull exception="Value has expired" />
<AsString exception="Value has expired" />
<HasExpired>True</HasExpired>
<Type>System.Int32</Type>
<IsObject exception="Value has expired" />
<IsPrimitive exception="Value has expired" />
<IsInteger exception="Value has expired" />
<PrimitiveValue exception="Value has expired" />
</argument>
<local Type="Value" ToString_exception="Value has expired">
<IsArray exception="Value has expired" />
<ArrayLenght exception="Value has expired" />
<ArrayRank exception="Value has expired" />
<ArrayDimensions exception="Value has expired" />
<IsObject exception="Value has expired" />
<IsPrimitive exception="Value has expired" />
<IsInteger exception="Value has expired" />
<PrimitiveValue exception="Value has expired" />
<Expression>local</Expression>
<IsNull exception="Value has expired" />
<AsString exception="Value has expired" />
<HasExpired>True</HasExpired>
<Type>System.Int32</Type>
<IsObject exception="Value has expired" />
<IsPrimitive exception="Value has expired" />
<IsInteger exception="Value has expired" />
<PrimitiveValue exception="Value has expired" />
</local>
<_x0040_class Type="Value" ToString_exception="Value has expired">
<IsArray exception="Value has expired" />
<ArrayLenght exception="Value has expired" />
<ArrayRank exception="Value has expired" />
<ArrayDimensions exception="Value has expired" />
<IsObject exception="Value has expired" />
<IsPrimitive exception="Value has expired" />
<IsInteger exception="Value has expired" />
<PrimitiveValue exception="Value has expired" />
<Expression>this.class</Expression>
<IsNull exception="Value has expired" />
<AsString exception="Value has expired" />
<HasExpired>True</HasExpired>
<Type>System.Int32</Type>
<IsObject exception="Value has expired" />
<IsPrimitive exception="Value has expired" />
<IsInteger exception="Value has expired" />
<PrimitiveValue exception="Value has expired" />
</_x0040_class>
<localInSubFunction Type="Value" ToString_exception="Value has expired">
<IsArray exception="Value has expired" />
<ArrayLenght exception="Value has expired" />
<ArrayRank exception="Value has expired" />
<ArrayDimensions exception="Value has expired" />
<IsObject exception="Value has expired" />
<IsPrimitive exception="Value has expired" />
<IsInteger exception="Value has expired" />
<PrimitiveValue exception="Value has expired" />
<Expression>localInSubFunction</Expression>
<IsNull exception="Value has expired" />
<AsString exception="Value has expired" />
<HasExpired>True</HasExpired>
<Type>System.Int32</Type>
<IsObject exception="Value has expired" />
<IsPrimitive exception="Value has expired" />
<IsInteger exception="Value has expired" />
<PrimitiveValue exception="Value has expired" />
</localInSubFunction>
<ProcessExited />
</Test>

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

@ -159,6 +159,7 @@ namespace Debugger.Tests { @@ -159,6 +159,7 @@ namespace Debugger.Tests {
<BaseType>System.Object</BaseType>
</DeclaringType>
</MethodInfo>
<Depth>0</Depth>
<HasSymbols>True</HasSymbols>
<HasExpired>False</HasExpired>
<NextStatement>Start=48,4 End=48,40</NextStatement>
@ -220,6 +221,7 @@ namespace Debugger.Tests { @@ -220,6 +221,7 @@ namespace Debugger.Tests {
<BaseType>System.Object</BaseType>
</DeclaringType>
</MethodInfo>
<Depth>0</Depth>
<HasSymbols>True</HasSymbols>
<HasExpired>False</HasExpired>
<NextStatement>Start=54,4 End=54,40</NextStatement>
@ -281,6 +283,7 @@ namespace Debugger.Tests { @@ -281,6 +283,7 @@ namespace Debugger.Tests {
<BaseType>System.Object</BaseType>
</DeclaringType>
</MethodInfo>
<Depth>0</Depth>
<HasSymbols>True</HasSymbols>
<HasExpired>False</HasExpired>
<NextStatement>Start=60,4 End=60,40</NextStatement>
@ -342,6 +345,7 @@ namespace Debugger.Tests { @@ -342,6 +345,7 @@ namespace Debugger.Tests {
<BaseType>System.Object</BaseType>
</DeclaringType>
</MethodInfo>
<Depth>0</Depth>
<HasSymbols>True</HasSymbols>
<HasExpired>False</HasExpired>
<NextStatement>Start=66,4 End=66,40</NextStatement>
@ -403,6 +407,7 @@ namespace Debugger.Tests { @@ -403,6 +407,7 @@ namespace Debugger.Tests {
<BaseType>System.ValueType</BaseType>
</DeclaringType>
</MethodInfo>
<Depth>0</Depth>
<HasSymbols>True</HasSymbols>
<HasExpired>False</HasExpired>
<NextStatement>Start=75,4 End=75,40</NextStatement>
@ -464,6 +469,7 @@ namespace Debugger.Tests { @@ -464,6 +469,7 @@ namespace Debugger.Tests {
<BaseType>System.ValueType</BaseType>
</DeclaringType>
</MethodInfo>
<Depth>0</Depth>
<HasSymbols>True</HasSymbols>
<HasExpired>False</HasExpired>
<NextStatement>Start=81,4 End=81,40</NextStatement>
@ -525,6 +531,7 @@ namespace Debugger.Tests { @@ -525,6 +531,7 @@ namespace Debugger.Tests {
<BaseType>System.ValueType</BaseType>
</DeclaringType>
</MethodInfo>
<Depth>0</Depth>
<HasSymbols>True</HasSymbols>
<HasExpired>False</HasExpired>
<NextStatement>Start=87,4 End=87,40</NextStatement>
@ -586,6 +593,7 @@ namespace Debugger.Tests { @@ -586,6 +593,7 @@ namespace Debugger.Tests {
<BaseType>System.ValueType</BaseType>
</DeclaringType>
</MethodInfo>
<Depth>0</Depth>
<HasSymbols>True</HasSymbols>
<HasExpired>False</HasExpired>
<NextStatement>Start=93,4 End=93,40</NextStatement>

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

@ -0,0 +1,67 @@ @@ -0,0 +1,67 @@
// <file>
// <copyright see="prj:///doc/copyright.txt"/>
// <license see="prj:///doc/license.txt"/>
// <owner name="David Srbeck<EFBFBD>" email="dsrbecky@gmail.com"/>
// <version>$Revision$</version>
// </file>
using System;
namespace Debugger.Tests.TestPrograms
{
public class StackOverflow
{
public static void Main()
{
System.Diagnostics.Debugger.Break();
new StackOverflow().Fun(0);
}
public int Fun(int i)
{
return Fun(i + 1);
}
}
}
#if TEST_CODE
namespace Debugger.Tests {
public partial class DebuggerTests
{
[NUnit.Framework.Test]
public void StackOverflow()
{
StartTest("StackOverflow.cs");
WaitForPause();
process.Continue();
WaitForPause();
ObjectDump("LastStackFrame", process.SelectedThread.LastStackFrame);
CheckXmlOutput();
}
}
}
#endif
#if EXPECTED_OUTPUT
<?xml version="1.0" encoding="utf-8"?>
<DebuggerTests>
<Test name="StackOverflow.cs">
<ProcessStarted />
<ModuleLoaded symbols="False">mscorlib.dll</ModuleLoaded>
<ModuleLoaded symbols="True">StackOverflow.exe</ModuleLoaded>
<DebuggingPaused>Break</DebuggingPaused>
<DebuggingPaused>Exception</DebuggingPaused>
<ExceptionThrown>&lt;null&gt;</ExceptionThrown>
<LastStackFrame Type="StackFrame" ToString="Debugger.Tests.TestPrograms.StackOverflow.Fun">
<MethodInfo>Fun</MethodInfo>
<Depth>0</Depth>
<HasSymbols>True</HasSymbols>
<HasExpired>False</HasExpired>
<NextStatement>Start=21,3 End=21,4</NextStatement>
<ArgumentCount>1</ArgumentCount>
</LastStackFrame>
</Test>
</DebuggerTests>
#endif // EXPECTED_OUTPUT

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

@ -59,10 +59,6 @@ namespace Debugger.Tests { @@ -59,10 +59,6 @@ namespace Debugger.Tests {
<ArrayLenght exception="Value is not an array" />
<ArrayRank exception="Value is not an array" />
<ArrayDimensions exception="Value is not an array" />
<IsObject>True</IsObject>
<IsPrimitive>False</IsPrimitive>
<IsInteger>False</IsInteger>
<PrimitiveValue exception="Value is not a primitive type" />
<Expression>this</Expression>
<IsNull>False</IsNull>
<AsString>{Debugger.Tests.ValueType}</AsString>
@ -104,6 +100,10 @@ namespace Debugger.Tests { @@ -104,6 +100,10 @@ namespace Debugger.Tests {
</BaseType>
</BaseType>
</Type>
<IsObject>True</IsObject>
<IsPrimitive>False</IsPrimitive>
<IsInteger>False</IsInteger>
<PrimitiveValue exception="Value is not a primitive type" />
</this>
<ProcessExited />
</Test>

Loading…
Cancel
Save