Browse Source

Moved part of code from Function to MethodInfo

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@2783 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
David Srbecký 18 years ago
parent
commit
e2bfe8d436
  1. 4
      src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Pads/CallStackPad.cs
  2. 2
      src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Pads/RunningThreadsPad.cs
  3. 2
      src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Variables/FunctionItem.cs
  4. 2
      src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Threads/Exception.cs
  5. 158
      src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Threads/Function.cs
  6. 2
      src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Threads/Thread.cs
  7. 22
      src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Variables/Types/MemberInfo.cs
  8. 50
      src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Variables/Types/MethodInfo.cs
  9. 84
      src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Callstack.xml
  10. 84
      src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/FunctionArgumentVariables.xml
  11. 84
      src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/FunctionLifetime.xml
  12. 14
      src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/FunctionLocalVariables.xml
  13. 700
      src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Generics.xml
  14. 126
      src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Stepping.xml

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

@ -135,7 +135,7 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads
ListViewItem item; ListViewItem item;
if (f.HasSymbols || showExternalMethods) { if (f.HasSymbols || showExternalMethods) {
// Show the method in the list // Show the method in the list
string name = f.Name; string name = f.MethodInfo.Name;
if (showArgumentNames || showArgumentValues) { if (showArgumentNames || showArgumentValues) {
name += "("; name += "(";
for (int i = 0; i < f.ArgumentCount; i++) { for (int i = 0; i < f.ArgumentCount; i++) {
@ -143,7 +143,7 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads
string argValue = null; string argValue = null;
if (showArgumentNames) { if (showArgumentNames) {
try { try {
parameterName = f.GetParameterName(i); parameterName = f.MethodInfo.GetParameterName(i);
} catch { } } catch { }
if (parameterName == "") parameterName = null; if (parameterName == "") parameterName = null;
} }

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

@ -167,7 +167,7 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads
} }
} }
if (location != null) { if (location != null) {
item.SubItems.Add(location.Name); item.SubItems.Add(location.MethodInfo.Name);
} else { } else {
item.SubItems.Add(ResourceService.GetString("Global.NA")); item.SubItems.Add(ResourceService.GetString("Global.NA"));
} }

2
src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Variables/FunctionItem.cs

@ -60,7 +60,7 @@ namespace Debugger
public override string Name { public override string Name {
get { get {
return function.Name; return function.MethodInfo.Name;
} }
} }

2
src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Threads/Exception.cs

@ -52,7 +52,7 @@ namespace Debugger
} }
SourcecodeSegment loc = function.NextStatement; SourcecodeSegment loc = function.NextStatement;
callstack += function.Name + "()"; callstack += function.MethodInfo.Name + "()";
if (loc != null) { if (loc != null) {
callstack += " - " + loc.SourceFullFilename + ":" + loc.StartLine + "," + loc.StartColumn; callstack += " - " + loc.SourceFullFilename + ":" + loc.StartLine + "," + loc.StartColumn;
} }

158
src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Threads/Function.cs

@ -23,7 +23,8 @@ namespace Debugger
{ {
Process process; Process process;
Module module; MethodInfo methodInfo;
ICorDebugFunction corFunction; ICorDebugFunction corFunction;
ICorDebugILFrame corILFrame; ICorDebugILFrame corILFrame;
object corILFramePauseSession; object corILFramePauseSession;
@ -34,8 +35,6 @@ namespace Debugger
Thread thread; Thread thread;
FrameID frameID; FrameID frameID;
MethodProps methodProps;
/// <summary> The process in which this function is executed </summary> /// <summary> The process in which this function is executed </summary>
[Debugger.Tests.Ignore] [Debugger.Tests.Ignore]
public Process Process { public Process Process {
@ -43,28 +42,10 @@ namespace Debugger
return process; return process;
} }
} }
/// <summary> The name of the function (eg "ToString") </summary>
public string Name {
get {
return methodProps.Name;
}
}
/// <summary> Metadata token of the function </summary>
[Debugger.Tests.Ignore]
public uint Token {
get {
return methodProps.Token;
}
}
/// <summary> A module in which the function is defined </summary> /// <summary> Get the method which this stack frame is executing </summary>
[Debugger.Tests.ToStringOnly] public MethodInfo MethodInfo {
public Module Module { get { return methodInfo; }
get {
return module;
}
} }
/// <summary> A thread in which the function is executed </summary> /// <summary> A thread in which the function is executed </summary>
@ -75,13 +56,6 @@ namespace Debugger
} }
} }
/// <summary> True if the function is static </summary>
public bool IsStatic {
get {
return methodProps.IsStatic;
}
}
/// <summary> True if the function has symbols defined. /// <summary> True if the function has symbols defined.
/// (That is has accesss to the .pdb file) </summary> /// (That is has accesss to the .pdb file) </summary>
public bool HasSymbols { public bool HasSymbols {
@ -90,17 +64,10 @@ namespace Debugger
} }
} }
/// <summary> The class that defines this function </summary>
internal ICorDebugClass ContaingClass { // TODO: Use DebugType
get {
return corFunction.Class;
}
}
/// <summary> True if function stepped out and is not longer valid. </summary> /// <summary> True if function stepped out and is not longer valid. </summary>
public bool HasExpired { public bool HasExpired {
get { get {
return steppedOut || Module.Unloaded; return steppedOut || this.MethodInfo.Module.Unloaded;
} }
} }
@ -119,12 +86,6 @@ namespace Debugger
} }
} }
DebugType type;
public DebugType Type {
get { return type; }
}
internal Function(Thread thread, FrameID frameID, ICorDebugILFrame corILFrame) internal Function(Thread thread, FrameID frameID, ICorDebugILFrame corILFrame)
{ {
this.process = thread.Process; this.process = thread.Process;
@ -132,13 +93,15 @@ namespace Debugger
this.frameID = frameID; this.frameID = frameID;
this.CorILFrame = corILFrame; this.CorILFrame = corILFrame;
corFunction = corILFrame.Function; corFunction = corILFrame.Function;
module = process.GetModule(corFunction.Module);
methodProps = module.MetaData.GetMethodProps(corFunction.Token);
List<ICorDebugType> corTypes = corILFrame.CastTo<ICorDebugILFrame2>().EnumerateTypeParameters().ToList();
type = DebugType.Create(this.Process, corFunction.Class, corTypes);
DebugType debugType = DebugType.Create(
this.Process,
corFunction.Class,
corILFrame.CastTo<ICorDebugILFrame2>().EnumerateTypeParameters().ToList()
);
MethodProps methodProps = process.GetModule(corFunction.Module).MetaData.GetMethodProps(corFunction.Token);
this.methodInfo = new MethodInfo(debugType, methodProps);
// Force some callback when function steps out so that we can expire it // Force some callback when function steps out so that we can expire it
stepOutStepper = new Stepper(this, "Function Tracker"); stepOutStepper = new Stepper(this, "Function Tracker");
stepOutStepper.StepOut(); stepOutStepper.StepOut();
@ -150,7 +113,7 @@ namespace Debugger
/// <summary> Returns diagnostic description of the frame </summary> /// <summary> Returns diagnostic description of the frame </summary>
public override string ToString() public override string ToString()
{ {
return methodProps.Name + "(" + frameID.ToString() + ")"; return this.MethodInfo.Name + "(" + frameID.ToString() + ")";
} }
internal ICorDebugILFrame CorILFrame { internal ICorDebugILFrame CorILFrame {
@ -168,36 +131,14 @@ namespace Debugger
} }
} }
internal uint corInstructionPtr { internal uint CorInstructionPtr {
get { get {
uint corInstructionPtr; uint corInstructionPtr;
CorILFrame.GetIP(out corInstructionPtr); CorILFrame.GetIP(out corInstructionPtr);
return corInstructionPtr; return corInstructionPtr;
} }
} }
internal ISymUnmanagedReader symReader {
get {
if (module.SymbolsLoaded == false) return null;
if (module.SymReader == null) return null;
return module.SymReader;
}
}
internal ISymUnmanagedMethod symMethod {
get {
if (symReader == null) {
return null;
} else {
try {
return symReader.GetMethod(methodProps.Token);
} catch {
return null;
}
}
}
}
/// <summary> Step into next instruction </summary> /// <summary> Step into next instruction </summary>
public void StepInto() public void StepInto()
{ {
@ -219,7 +160,7 @@ namespace Debugger
private unsafe void Step(bool stepIn) private unsafe void Step(bool stepIn)
{ {
if (Module.SymbolsLoaded == false) { if (this.MethodInfo.Module.SymbolsLoaded == false) {
throw new DebuggerException("Unable to step. No symbols loaded."); throw new DebuggerException("Unable to step. No symbols loaded.");
} }
@ -249,7 +190,7 @@ namespace Debugger
/// </summary> /// </summary>
public SourcecodeSegment NextStatement { public SourcecodeSegment NextStatement {
get { get {
return GetSegmentForOffet(corInstructionPtr); return GetSegmentForOffet(CorInstructionPtr);
} }
} }
@ -261,9 +202,8 @@ namespace Debugger
/// </summary> /// </summary>
SourcecodeSegment GetSegmentForOffet(uint offset) SourcecodeSegment GetSegmentForOffet(uint offset)
{ {
ISymUnmanagedMethod symMethod; ISymUnmanagedMethod symMethod = this.MethodInfo.SymMethod;
symMethod = this.symMethod;
if (symMethod == null) { if (symMethod == null) {
return null; return null;
} }
@ -303,7 +243,7 @@ namespace Debugger
return null; return null;
} }
retVal.ModuleFilename = module.FullPath; retVal.ModuleFilename = this.MethodInfo.Module.FullPath;
retVal.SourceFullFilename = sequencePoints[i].Document.URL; retVal.SourceFullFilename = sequencePoints[i].Document.URL;
@ -336,7 +276,7 @@ namespace Debugger
retVal.StepRanges = stepRanges.ToArray(); retVal.StepRanges = stepRanges.ToArray();
return retVal; return retVal;
} }
return null; return null;
} }
@ -365,10 +305,10 @@ namespace Debugger
SourcecodeSegment suggestion = new SourcecodeSegment(filename, line, column, column); SourcecodeSegment suggestion = new SourcecodeSegment(filename, line, column, column);
ICorDebugFunction corFunction; ICorDebugFunction corFunction;
int ilOffset; int ilOffset;
if (!suggestion.GetFunctionAndOffset(this.Module, false, out corFunction, out ilOffset)) { if (!suggestion.GetFunctionAndOffset(this.MethodInfo.Module, false, out corFunction, out ilOffset)) {
return null; return null;
} else { } else {
if (corFunction.Token != methodProps.Token) { if (corFunction.Token != this.MethodInfo.MetadataToken) {
return null; return null;
} else { } else {
try { try {
@ -420,7 +360,7 @@ namespace Debugger
IEnumerable<Value> GetVariables() IEnumerable<Value> GetVariables()
{ {
if (!IsStatic) { if (!this.MethodInfo.IsStatic) {
yield return ThisValue; yield return ThisValue;
} }
foreach(Value val in Arguments) { foreach(Value val in Arguments) {
@ -442,7 +382,7 @@ namespace Debugger
/// </summary> /// </summary>
public Value ThisValue { public Value ThisValue {
get { get {
if (IsStatic) throw new DebuggerException("Static method does not have 'this'."); if (this.MethodInfo.IsStatic) throw new DebuggerException("Static method does not have 'this'.");
if (thisValueCache == null) { if (thisValueCache == null) {
thisValueCache = new Value(process, "this", ThisCorValue); thisValueCache = new Value(process, "this", ThisCorValue);
} }
@ -469,7 +409,7 @@ namespace Debugger
public ValueCollection ContaingClassVariables { public ValueCollection ContaingClassVariables {
get { get {
// TODO: Should work for static // TODO: Should work for static
if (!IsStatic) { if (!this.MethodInfo.IsStatic) {
return ThisValue.GetMembers(); return ThisValue.GetMembers();
} else { } else {
return ValueCollection.Empty; return ValueCollection.Empty;
@ -477,24 +417,12 @@ namespace Debugger
} }
} }
/// <summary> Gets the name of given parameter </summary>
/// <param name="index"> Zero-based index </param>
public string GetParameterName(int index)
{
// index = 0 is return parameter
try {
return module.MetaData.GetParamForMethodIndex(methodProps.Token, (uint)index + 1).Name;
} catch {
return String.Empty;
}
}
/// <summary> Total number of arguments (excluding implicit 'this' argument) </summary> /// <summary> Total number of arguments (excluding implicit 'this' argument) </summary>
public int ArgumentCount { public int ArgumentCount {
get { get {
ICorDebugValueEnum argumentEnum = CorILFrame.EnumerateArguments(); ICorDebugValueEnum argumentEnum = CorILFrame.EnumerateArguments();
uint argCount = argumentEnum.Count; uint argCount = argumentEnum.Count;
if (!IsStatic) { if (!this.MethodInfo.IsStatic) {
argCount--; // Remove 'this' from count argCount--; // Remove 'this' from count
} }
return (int)argCount; return (int)argCount;
@ -505,7 +433,7 @@ namespace Debugger
/// <param name="index"> Zero-based index </param> /// <param name="index"> Zero-based index </param>
public Value GetArgument(int index) public Value GetArgument(int index)
{ {
return new Value(process, GetParameterName(index), GetArgumentCorValue(index)); return new Value(process, this.MethodInfo.GetParameterName(index), GetArgumentCorValue(index));
} }
ICorDebugValue GetArgumentCorValue(int index) ICorDebugValue GetArgumentCorValue(int index)
@ -514,7 +442,7 @@ namespace Debugger
try { try {
// Non-static functions include 'this' as first argument // Non-static functions include 'this' as first argument
return CorILFrame.GetArgument((uint)(IsStatic? index : (index + 1))); return CorILFrame.GetArgument((uint)(this.MethodInfo.IsStatic? index : (index + 1)));
} catch (COMException e) { } catch (COMException e) {
if ((uint)e.ErrorCode == 0x80131304) throw new CannotGetValueException("Unavailable in optimized code"); if ((uint)e.ErrorCode == 0x80131304) throw new CannotGetValueException("Unavailable in optimized code");
throw; throw;
@ -565,34 +493,12 @@ namespace Debugger
IEnumerable<Value> LocalVariablesEnum { IEnumerable<Value> LocalVariablesEnum {
get { get {
if (symMethod != null) { // TODO: Is this needed? foreach(ISymUnmanagedVariable symVar in this.MethodInfo.LocalVariables) {
ISymUnmanagedScope symRootScope = symMethod.RootScope; yield return new Value(process, symVar.Name, GetCorValueOfLocalVariable(symVar));
foreach(Value var in GetLocalVariablesInScope(symRootScope)) {
if (!var.Name.StartsWith("CS$")) { // TODO: Generalize
yield return var;
}
}
} }
} }
} }
IEnumerable<Value> GetLocalVariablesInScope(ISymUnmanagedScope symScope)
{
foreach (ISymUnmanagedVariable symVar in symScope.Locals) {
yield return GetLocalVariable(symVar);
}
foreach(ISymUnmanagedScope childScope in symScope.Children) {
foreach(Value var in GetLocalVariablesInScope(childScope)) {
yield return var;
}
}
}
Value GetLocalVariable(ISymUnmanagedVariable symVar)
{
return new Value(process, symVar.Name, GetCorValueOfLocalVariable(symVar));
}
ICorDebugValue GetCorValueOfLocalVariable(ISymUnmanagedVariable symVar) ICorDebugValue GetCorValueOfLocalVariable(ISymUnmanagedVariable symVar)
{ {
if (this.HasExpired) throw new CannotGetValueException("Function has expired"); if (this.HasExpired) throw new CannotGetValueException("Function has expired");

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

@ -330,7 +330,7 @@ namespace Debugger
Function function; Function function;
if (lastFrame != null && if (lastFrame != null &&
functionCache.TryGetValue(new FrameID((uint)maxChainIndex, (uint)maxFrameIndex), out function) && functionCache.TryGetValue(new FrameID((uint)maxChainIndex, (uint)maxFrameIndex), out function) &&
function.Token != lastFrame.FunctionToken) { function.MethodInfo.MetadataToken != lastFrame.FunctionToken) {
functionCache.Remove(new FrameID((uint)maxChainIndex, (uint)maxFrameIndex)); functionCache.Remove(new FrameID((uint)maxChainIndex, (uint)maxFrameIndex));
function.OnExpired(EventArgs.Empty); function.OnExpired(EventArgs.Empty);

22
src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Variables/Types/MemberInfo.cs

@ -28,6 +28,17 @@ namespace Debugger
} }
} }
/// <summary> Gets the name of this member </summary>
public abstract string Name { get; }
/// <summary> Gets the module in which this member is defined </summary>
[Debugger.Tests.ToStringOnly]
public Module Module {
get {
return declaringType.Module;
}
}
/// <summary> Gets the type that declares this member element </summary> /// <summary> Gets the type that declares this member element </summary>
[Debugger.Tests.ToStringOnly] [Debugger.Tests.ToStringOnly]
public DebugType DeclaringType { public DebugType DeclaringType {
@ -49,17 +60,6 @@ namespace Debugger
[Debugger.Tests.Ignore] [Debugger.Tests.Ignore]
public abstract uint MetadataToken { get; } public abstract uint MetadataToken { get; }
/// <summary> Gets the name of this member </summary>
public abstract string Name { get; }
/// <summary> Gets the module in which this member is defined </summary>
[Debugger.Tests.ToStringOnly]
public Module Module {
get {
return declaringType.Module;
}
}
internal MemberInfo(DebugType declaringType) internal MemberInfo(DebugType declaringType)
{ {
this.declaringType = declaringType; this.declaringType = declaringType;

50
src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Variables/Types/MethodInfo.cs

@ -7,7 +7,9 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using Debugger.Wrappers.CorDebug; using Debugger.Wrappers.CorDebug;
using Debugger.Wrappers.CorSym;
using Debugger.Wrappers.MetaData; using Debugger.Wrappers.MetaData;
namespace Debugger namespace Debugger
@ -99,5 +101,53 @@ namespace Debugger
} }
throw new DebuggerException("Not found"); throw new DebuggerException("Not found");
} }
internal ISymUnmanagedMethod SymMethod {
get {
if (this.Module.SymReader == null) return null;
try {
return this.Module.SymReader.GetMethod(this.MetadataToken);
} catch {
return null;
}
}
}
/// <summary> Gets the name of given parameter </summary>
/// <param name="index"> Zero-based index </param>
public string GetParameterName(int index)
{
// index = 0 is return parameter
try {
return this.Module.MetaData.GetParamForMethodIndex(this.MetadataToken, (uint)index + 1).Name;
} catch {
return String.Empty;
}
}
[Debugger.Tests.Ignore]
public List<ISymUnmanagedVariable> LocalVariables {
get {
if (this.SymMethod != null) { // TODO: Is this needed?
return GetLocalVariablesInScope(this.SymMethod.RootScope);
} else {
return new List<ISymUnmanagedVariable>();
}
}
}
List<ISymUnmanagedVariable> GetLocalVariablesInScope(ISymUnmanagedScope symScope)
{
List<ISymUnmanagedVariable> vars = new List<ISymUnmanagedVariable>();
foreach (ISymUnmanagedVariable symVar in symScope.Locals) {
if (!symVar.Name.StartsWith("CS$")) { // TODO: Generalize
vars.Add(symVar);
}
}
foreach(ISymUnmanagedScope childScope in symScope.Children) {
vars.AddRange(GetLocalVariablesInScope(childScope));
}
return vars;
}
} }
} }

84
src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Callstack.xml

@ -10,9 +10,17 @@
<Count>3</Count> <Count>3</Count>
<Items> <Items>
<Function> <Function>
<Name>Sub2</Name> <MethodInfo>
<Module>Callstack.exe</Module> <MethodInfo>
<IsStatic>True</IsStatic> <IsPrivate>True</IsPrivate>
<IsPublic>False</IsPublic>
<IsSpecialName>False</IsSpecialName>
<IsStatic>True</IsStatic>
<Name>Sub2</Name>
<Module>Callstack.exe</Module>
<DeclaringType>Debugger.Tests.TestPrograms.Callstack</DeclaringType>
</MethodInfo>
</MethodInfo>
<HasSymbols>True</HasSymbols> <HasSymbols>True</HasSymbols>
<HasExpired>False</HasExpired> <HasExpired>False</HasExpired>
<NextStatement>Start=26,4 End=26,40</NextStatement> <NextStatement>Start=26,4 End=26,40</NextStatement>
@ -38,9 +46,17 @@
</LocalVariables> </LocalVariables>
</Function> </Function>
<Function> <Function>
<Name>Sub1</Name> <MethodInfo>
<Module>Callstack.exe</Module> <MethodInfo>
<IsStatic>True</IsStatic> <IsPrivate>True</IsPrivate>
<IsPublic>False</IsPublic>
<IsSpecialName>False</IsSpecialName>
<IsStatic>True</IsStatic>
<Name>Sub1</Name>
<Module>Callstack.exe</Module>
<DeclaringType>Debugger.Tests.TestPrograms.Callstack</DeclaringType>
</MethodInfo>
</MethodInfo>
<HasSymbols>True</HasSymbols> <HasSymbols>True</HasSymbols>
<HasExpired>False</HasExpired> <HasExpired>False</HasExpired>
<NextStatement>Start=21,4 End=21,11</NextStatement> <NextStatement>Start=21,4 End=21,11</NextStatement>
@ -66,9 +82,17 @@
</LocalVariables> </LocalVariables>
</Function> </Function>
<Function> <Function>
<Name>Main</Name> <MethodInfo>
<Module>Callstack.exe</Module> <MethodInfo>
<IsStatic>True</IsStatic> <IsPrivate>False</IsPrivate>
<IsPublic>True</IsPublic>
<IsSpecialName>False</IsSpecialName>
<IsStatic>True</IsStatic>
<Name>Main</Name>
<Module>Callstack.exe</Module>
<DeclaringType>Debugger.Tests.TestPrograms.Callstack</DeclaringType>
</MethodInfo>
</MethodInfo>
<HasSymbols>True</HasSymbols> <HasSymbols>True</HasSymbols>
<HasExpired>False</HasExpired> <HasExpired>False</HasExpired>
<NextStatement>Start=16,4 End=16,11</NextStatement> <NextStatement>Start=16,4 End=16,11</NextStatement>
@ -102,9 +126,17 @@
<Count>2</Count> <Count>2</Count>
<Items> <Items>
<Function> <Function>
<Name>Sub1</Name> <MethodInfo>
<Module>Callstack.exe</Module> <MethodInfo>
<IsStatic>True</IsStatic> <IsPrivate>True</IsPrivate>
<IsPublic>False</IsPublic>
<IsSpecialName>False</IsSpecialName>
<IsStatic>True</IsStatic>
<Name>Sub1</Name>
<Module>Callstack.exe</Module>
<DeclaringType>Debugger.Tests.TestPrograms.Callstack</DeclaringType>
</MethodInfo>
</MethodInfo>
<HasSymbols>True</HasSymbols> <HasSymbols>True</HasSymbols>
<HasExpired>False</HasExpired> <HasExpired>False</HasExpired>
<NextStatement>Start=21,4 End=21,11</NextStatement> <NextStatement>Start=21,4 End=21,11</NextStatement>
@ -130,9 +162,17 @@
</LocalVariables> </LocalVariables>
</Function> </Function>
<Function> <Function>
<Name>Main</Name> <MethodInfo>
<Module>Callstack.exe</Module> <MethodInfo>
<IsStatic>True</IsStatic> <IsPrivate>False</IsPrivate>
<IsPublic>True</IsPublic>
<IsSpecialName>False</IsSpecialName>
<IsStatic>True</IsStatic>
<Name>Main</Name>
<Module>Callstack.exe</Module>
<DeclaringType>Debugger.Tests.TestPrograms.Callstack</DeclaringType>
</MethodInfo>
</MethodInfo>
<HasSymbols>True</HasSymbols> <HasSymbols>True</HasSymbols>
<HasExpired>False</HasExpired> <HasExpired>False</HasExpired>
<NextStatement>Start=16,4 End=16,11</NextStatement> <NextStatement>Start=16,4 End=16,11</NextStatement>
@ -166,9 +206,17 @@
<Count>1</Count> <Count>1</Count>
<Items> <Items>
<Function> <Function>
<Name>Main</Name> <MethodInfo>
<Module>Callstack.exe</Module> <MethodInfo>
<IsStatic>True</IsStatic> <IsPrivate>False</IsPrivate>
<IsPublic>True</IsPublic>
<IsSpecialName>False</IsSpecialName>
<IsStatic>True</IsStatic>
<Name>Main</Name>
<Module>Callstack.exe</Module>
<DeclaringType>Debugger.Tests.TestPrograms.Callstack</DeclaringType>
</MethodInfo>
</MethodInfo>
<HasSymbols>True</HasSymbols> <HasSymbols>True</HasSymbols>
<HasExpired>False</HasExpired> <HasExpired>False</HasExpired>
<NextStatement>Start=16,4 End=16,11</NextStatement> <NextStatement>Start=16,4 End=16,11</NextStatement>

84
src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/FunctionArgumentVariables.xml

@ -8,9 +8,17 @@
<DebuggingPaused>Break</DebuggingPaused> <DebuggingPaused>Break</DebuggingPaused>
<ObjectDump name="SelectedFunction"> <ObjectDump name="SelectedFunction">
<Function> <Function>
<Name>StaticFunction</Name> <MethodInfo>
<Module>FunctionArgumentVariables.exe</Module> <MethodInfo>
<IsStatic>True</IsStatic> <IsPrivate>True</IsPrivate>
<IsPublic>False</IsPublic>
<IsSpecialName>False</IsSpecialName>
<IsStatic>True</IsStatic>
<Name>StaticFunction</Name>
<Module>FunctionArgumentVariables.exe</Module>
<DeclaringType>Debugger.Tests.TestPrograms.FunctionArgumentVariables</DeclaringType>
</MethodInfo>
</MethodInfo>
<HasSymbols>True</HasSymbols> <HasSymbols>True</HasSymbols>
<HasExpired>False</HasExpired> <HasExpired>False</HasExpired>
<NextStatement>Start=28,4 End=28,40</NextStatement> <NextStatement>Start=28,4 End=28,40</NextStatement>
@ -85,9 +93,17 @@
<DebuggingPaused>Break</DebuggingPaused> <DebuggingPaused>Break</DebuggingPaused>
<ObjectDump name="SelectedFunction"> <ObjectDump name="SelectedFunction">
<Function> <Function>
<Name>StaticFunction</Name> <MethodInfo>
<Module>FunctionArgumentVariables.exe</Module> <MethodInfo>
<IsStatic>True</IsStatic> <IsPrivate>True</IsPrivate>
<IsPublic>False</IsPublic>
<IsSpecialName>False</IsSpecialName>
<IsStatic>True</IsStatic>
<Name>StaticFunction</Name>
<Module>FunctionArgumentVariables.exe</Module>
<DeclaringType>Debugger.Tests.TestPrograms.FunctionArgumentVariables</DeclaringType>
</MethodInfo>
</MethodInfo>
<HasSymbols>True</HasSymbols> <HasSymbols>True</HasSymbols>
<HasExpired>False</HasExpired> <HasExpired>False</HasExpired>
<NextStatement>Start=28,4 End=28,40</NextStatement> <NextStatement>Start=28,4 End=28,40</NextStatement>
@ -162,9 +178,17 @@
<DebuggingPaused>Break</DebuggingPaused> <DebuggingPaused>Break</DebuggingPaused>
<ObjectDump name="SelectedFunction"> <ObjectDump name="SelectedFunction">
<Function> <Function>
<Name>StaticFunction</Name> <MethodInfo>
<Module>FunctionArgumentVariables.exe</Module> <MethodInfo>
<IsStatic>True</IsStatic> <IsPrivate>True</IsPrivate>
<IsPublic>False</IsPublic>
<IsSpecialName>False</IsSpecialName>
<IsStatic>True</IsStatic>
<Name>StaticFunction</Name>
<Module>FunctionArgumentVariables.exe</Module>
<DeclaringType>Debugger.Tests.TestPrograms.FunctionArgumentVariables</DeclaringType>
</MethodInfo>
</MethodInfo>
<HasSymbols>True</HasSymbols> <HasSymbols>True</HasSymbols>
<HasExpired>False</HasExpired> <HasExpired>False</HasExpired>
<NextStatement>Start=28,4 End=28,40</NextStatement> <NextStatement>Start=28,4 End=28,40</NextStatement>
@ -239,9 +263,17 @@
<DebuggingPaused>Break</DebuggingPaused> <DebuggingPaused>Break</DebuggingPaused>
<ObjectDump name="SelectedFunction"> <ObjectDump name="SelectedFunction">
<Function> <Function>
<Name>Function</Name> <MethodInfo>
<Module>FunctionArgumentVariables.exe</Module> <MethodInfo>
<IsStatic>False</IsStatic> <IsPrivate>True</IsPrivate>
<IsPublic>False</IsPublic>
<IsSpecialName>False</IsSpecialName>
<IsStatic>False</IsStatic>
<Name>Function</Name>
<Module>FunctionArgumentVariables.exe</Module>
<DeclaringType>Debugger.Tests.TestPrograms.FunctionArgumentVariables</DeclaringType>
</MethodInfo>
</MethodInfo>
<HasSymbols>True</HasSymbols> <HasSymbols>True</HasSymbols>
<HasExpired>False</HasExpired> <HasExpired>False</HasExpired>
<NextStatement>Start=33,4 End=33,40</NextStatement> <NextStatement>Start=33,4 End=33,40</NextStatement>
@ -332,9 +364,17 @@
<DebuggingPaused>Break</DebuggingPaused> <DebuggingPaused>Break</DebuggingPaused>
<ObjectDump name="SelectedFunction"> <ObjectDump name="SelectedFunction">
<Function> <Function>
<Name>Function</Name> <MethodInfo>
<Module>FunctionArgumentVariables.exe</Module> <MethodInfo>
<IsStatic>False</IsStatic> <IsPrivate>True</IsPrivate>
<IsPublic>False</IsPublic>
<IsSpecialName>False</IsSpecialName>
<IsStatic>False</IsStatic>
<Name>Function</Name>
<Module>FunctionArgumentVariables.exe</Module>
<DeclaringType>Debugger.Tests.TestPrograms.FunctionArgumentVariables</DeclaringType>
</MethodInfo>
</MethodInfo>
<HasSymbols>True</HasSymbols> <HasSymbols>True</HasSymbols>
<HasExpired>False</HasExpired> <HasExpired>False</HasExpired>
<NextStatement>Start=33,4 End=33,40</NextStatement> <NextStatement>Start=33,4 End=33,40</NextStatement>
@ -425,9 +465,17 @@
<DebuggingPaused>Break</DebuggingPaused> <DebuggingPaused>Break</DebuggingPaused>
<ObjectDump name="SelectedFunction"> <ObjectDump name="SelectedFunction">
<Function> <Function>
<Name>Function</Name> <MethodInfo>
<Module>FunctionArgumentVariables.exe</Module> <MethodInfo>
<IsStatic>False</IsStatic> <IsPrivate>True</IsPrivate>
<IsPublic>False</IsPublic>
<IsSpecialName>False</IsSpecialName>
<IsStatic>False</IsStatic>
<Name>Function</Name>
<Module>FunctionArgumentVariables.exe</Module>
<DeclaringType>Debugger.Tests.TestPrograms.FunctionArgumentVariables</DeclaringType>
</MethodInfo>
</MethodInfo>
<HasSymbols>True</HasSymbols> <HasSymbols>True</HasSymbols>
<HasExpired>False</HasExpired> <HasExpired>False</HasExpired>
<NextStatement>Start=33,4 End=33,40</NextStatement> <NextStatement>Start=33,4 End=33,40</NextStatement>

84
src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/FunctionLifetime.xml

@ -7,9 +7,17 @@
<DebuggingPaused>Break</DebuggingPaused> <DebuggingPaused>Break</DebuggingPaused>
<ObjectDump name="Function"> <ObjectDump name="Function">
<Function> <Function>
<Name>Function</Name> <MethodInfo>
<Module>FunctionLifetime.exe</Module> <MethodInfo>
<IsStatic>True</IsStatic> <IsPrivate>True</IsPrivate>
<IsPublic>False</IsPublic>
<IsSpecialName>False</IsSpecialName>
<IsStatic>True</IsStatic>
<Name>Function</Name>
<Module>FunctionLifetime.exe</Module>
<DeclaringType>Debugger.Tests.TestPrograms.FunctionLifetime</DeclaringType>
</MethodInfo>
</MethodInfo>
<HasSymbols>True</HasSymbols> <HasSymbols>True</HasSymbols>
<HasExpired>False</HasExpired> <HasExpired>False</HasExpired>
<NextStatement>Start=22,4 End=22,40</NextStatement> <NextStatement>Start=22,4 End=22,40</NextStatement>
@ -54,9 +62,17 @@
<DebuggingPaused>Break</DebuggingPaused> <DebuggingPaused>Break</DebuggingPaused>
<ObjectDump name="Function"> <ObjectDump name="Function">
<Function> <Function>
<Name>Function</Name> <MethodInfo>
<Module>FunctionLifetime.exe</Module> <MethodInfo>
<IsStatic>True</IsStatic> <IsPrivate>True</IsPrivate>
<IsPublic>False</IsPublic>
<IsSpecialName>False</IsSpecialName>
<IsStatic>True</IsStatic>
<Name>Function</Name>
<Module>FunctionLifetime.exe</Module>
<DeclaringType>Debugger.Tests.TestPrograms.FunctionLifetime</DeclaringType>
</MethodInfo>
</MethodInfo>
<HasSymbols>True</HasSymbols> <HasSymbols>True</HasSymbols>
<HasExpired>False</HasExpired> <HasExpired>False</HasExpired>
<NextStatement>Start=23,4 End=23,18</NextStatement> <NextStatement>Start=23,4 End=23,18</NextStatement>
@ -100,9 +116,17 @@
</ObjectDump> </ObjectDump>
<ObjectDump name="SubFunction"> <ObjectDump name="SubFunction">
<Function> <Function>
<Name>SubFunction</Name> <MethodInfo>
<Module>FunctionLifetime.exe</Module> <MethodInfo>
<IsStatic>True</IsStatic> <IsPrivate>True</IsPrivate>
<IsPublic>False</IsPublic>
<IsSpecialName>False</IsSpecialName>
<IsStatic>True</IsStatic>
<Name>SubFunction</Name>
<Module>FunctionLifetime.exe</Module>
<DeclaringType>Debugger.Tests.TestPrograms.FunctionLifetime</DeclaringType>
</MethodInfo>
</MethodInfo>
<HasSymbols>True</HasSymbols> <HasSymbols>True</HasSymbols>
<HasExpired>False</HasExpired> <HasExpired>False</HasExpired>
<NextStatement>Start=29,4 End=29,40</NextStatement> <NextStatement>Start=29,4 End=29,40</NextStatement>
@ -131,9 +155,17 @@
<DebuggingPaused>Break</DebuggingPaused> <DebuggingPaused>Break</DebuggingPaused>
<ObjectDump name="Function"> <ObjectDump name="Function">
<Function> <Function>
<Name>Function</Name> <MethodInfo>
<Module>FunctionLifetime.exe</Module> <MethodInfo>
<IsStatic>True</IsStatic> <IsPrivate>True</IsPrivate>
<IsPublic>False</IsPublic>
<IsSpecialName>False</IsSpecialName>
<IsStatic>True</IsStatic>
<Name>Function</Name>
<Module>FunctionLifetime.exe</Module>
<DeclaringType>Debugger.Tests.TestPrograms.FunctionLifetime</DeclaringType>
</MethodInfo>
</MethodInfo>
<HasSymbols>True</HasSymbols> <HasSymbols>True</HasSymbols>
<HasExpired>False</HasExpired> <HasExpired>False</HasExpired>
<NextStatement>Start=24,4 End=24,40</NextStatement> <NextStatement>Start=24,4 End=24,40</NextStatement>
@ -178,9 +210,17 @@
<DebuggingPaused>Break</DebuggingPaused> <DebuggingPaused>Break</DebuggingPaused>
<ObjectDump name="Main"> <ObjectDump name="Main">
<Function> <Function>
<Name>Main</Name> <MethodInfo>
<Module>FunctionLifetime.exe</Module> <MethodInfo>
<IsStatic>True</IsStatic> <IsPrivate>False</IsPrivate>
<IsPublic>True</IsPublic>
<IsSpecialName>False</IsSpecialName>
<IsStatic>True</IsStatic>
<Name>Main</Name>
<Module>FunctionLifetime.exe</Module>
<DeclaringType>Debugger.Tests.TestPrograms.FunctionLifetime</DeclaringType>
</MethodInfo>
</MethodInfo>
<HasSymbols>True</HasSymbols> <HasSymbols>True</HasSymbols>
<HasExpired>False</HasExpired> <HasExpired>False</HasExpired>
<NextStatement>Start=17,4 End=17,40</NextStatement> <NextStatement>Start=17,4 End=17,40</NextStatement>
@ -208,9 +248,17 @@
</ObjectDump> </ObjectDump>
<ObjectDump name="Function"> <ObjectDump name="Function">
<Function> <Function>
<Name>Function</Name> <MethodInfo>
<Module>FunctionLifetime.exe</Module> <MethodInfo>
<IsStatic>True</IsStatic> <IsPrivate>True</IsPrivate>
<IsPublic>False</IsPublic>
<IsSpecialName>False</IsSpecialName>
<IsStatic>True</IsStatic>
<Name>Function</Name>
<Module>FunctionLifetime.exe</Module>
<DeclaringType>Debugger.Tests.TestPrograms.FunctionLifetime</DeclaringType>
</MethodInfo>
</MethodInfo>
<HasSymbols>True</HasSymbols> <HasSymbols>True</HasSymbols>
<HasExpired>True</HasExpired> <HasExpired>True</HasExpired>
<NextStatement exception="Function has expired" /> <NextStatement exception="Function has expired" />

14
src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/FunctionLocalVariables.xml

@ -7,9 +7,17 @@
<DebuggingPaused>Break</DebuggingPaused> <DebuggingPaused>Break</DebuggingPaused>
<ObjectDump name="SelectedFunction"> <ObjectDump name="SelectedFunction">
<Function> <Function>
<Name>Main</Name> <MethodInfo>
<Module>FunctionLocalVariables.exe</Module> <MethodInfo>
<IsStatic>True</IsStatic> <IsPrivate>False</IsPrivate>
<IsPublic>True</IsPublic>
<IsSpecialName>False</IsSpecialName>
<IsStatic>True</IsStatic>
<Name>Main</Name>
<Module>FunctionLocalVariables.exe</Module>
<DeclaringType>Debugger.Tests.TestPrograms.FunctionLocalVariables</DeclaringType>
</MethodInfo>
</MethodInfo>
<HasSymbols>True</HasSymbols> <HasSymbols>True</HasSymbols>
<HasExpired>False</HasExpired> <HasExpired>False</HasExpired>
<NextStatement>Start=23,4 End=23,40</NextStatement> <NextStatement>Start=23,4 End=23,40</NextStatement>

700
src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Generics.xml

@ -7,70 +7,19 @@
<DebuggingPaused>Break</DebuggingPaused> <DebuggingPaused>Break</DebuggingPaused>
<ObjectDump name="SelectedFunction"> <ObjectDump name="SelectedFunction">
<Function> <Function>
<Name>Metod</Name> <MethodInfo>
<Module>Generics.exe</Module> <MethodInfo>
<IsStatic>False</IsStatic> <IsPrivate>False</IsPrivate>
<IsPublic>True</IsPublic>
<IsSpecialName>False</IsSpecialName>
<IsStatic>False</IsStatic>
<Name>Metod</Name>
<Module>Generics.exe</Module>
<DeclaringType>Debugger.Tests.TestPrograms.GenericClass&lt;System.Int32,System.String&gt;</DeclaringType>
</MethodInfo>
</MethodInfo>
<HasSymbols>True</HasSymbols> <HasSymbols>True</HasSymbols>
<HasExpired>False</HasExpired> <HasExpired>False</HasExpired>
<Type>
<DebugType>
<ManagedType>null</ManagedType>
<Module>
<Module>
<Unloaded>False</Unloaded>
<SymReader>Debugger.Wrappers.CorSym.ISymUnmanagedReader</SymReader>
<CorModule>Debugger.Wrappers.CorDebug.ICorDebugModule</CorModule>
<BaseAdress>4194304</BaseAdress>
<IsDynamic>False</IsDynamic>
<IsInMemory>False</IsInMemory>
<FullPath>C:\Documents and Settings\User\Local Settings\Temp\SharpDevelop\DebuggerTests\1BB0DE2859DD9A8A9B239F74810B2C2A\Generics.exe</FullPath>
<Filename>Generics.exe</Filename>
<DirectoryName>C:\Documents and Settings\User\Local Settings\Temp\SharpDevelop\DebuggerTests\1BB0DE2859DD9A8A9B239F74810B2C2A</DirectoryName>
<SymbolsLoaded>True</SymbolsLoaded>
<OrderOfLoading>1</OrderOfLoading>
</Module>
</Module>
<MetadataToken>33554435</MetadataToken>
<FullName>Debugger.Tests.TestPrograms.GenericClass&lt;System.Int32,System.String&gt;</FullName>
<HasElementType>False</HasElementType>
<IsArray>False</IsArray>
<IsGenericType>True</IsGenericType>
<IsClass>True</IsClass>
<IsValueType>False</IsValueType>
<IsPrimitive>False</IsPrimitive>
<IsInteger>False</IsInteger>
<BaseType>
<DebugType>
<ManagedType>null</ManagedType>
<Module>
<Module>
<Unloaded>False</Unloaded>
<SymReader>null</SymReader>
<CorModule>Debugger.Wrappers.CorDebug.ICorDebugModule</CorModule>
<BaseAdress>2030829568</BaseAdress>
<IsDynamic>False</IsDynamic>
<IsInMemory>False</IsInMemory>
<FullPath>C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll</FullPath>
<Filename>mscorlib.dll</Filename>
<DirectoryName>C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089</DirectoryName>
<SymbolsLoaded>False</SymbolsLoaded>
<OrderOfLoading>0</OrderOfLoading>
</Module>
</Module>
<MetadataToken>33554434</MetadataToken>
<FullName>System.Object</FullName>
<HasElementType>False</HasElementType>
<IsArray>False</IsArray>
<IsGenericType>False</IsGenericType>
<IsClass>True</IsClass>
<IsValueType>False</IsValueType>
<IsPrimitive>False</IsPrimitive>
<IsInteger>False</IsInteger>
<BaseType>null</BaseType>
</DebugType>
</BaseType>
</DebugType>
</Type>
<NextStatement>Start=36,4 End=36,40</NextStatement> <NextStatement>Start=36,4 End=36,40</NextStatement>
<ThisValue> <ThisValue>
<Value> <Value>
@ -144,70 +93,19 @@
<DebuggingPaused>Break</DebuggingPaused> <DebuggingPaused>Break</DebuggingPaused>
<ObjectDump name="SelectedFunction"> <ObjectDump name="SelectedFunction">
<Function> <Function>
<Name>GenericMethod</Name> <MethodInfo>
<Module>Generics.exe</Module> <MethodInfo>
<IsStatic>False</IsStatic> <IsPrivate>False</IsPrivate>
<IsPublic>True</IsPublic>
<IsSpecialName>False</IsSpecialName>
<IsStatic>False</IsStatic>
<Name>GenericMethod</Name>
<Module>Generics.exe</Module>
<DeclaringType>Debugger.Tests.TestPrograms.GenericClass&lt;System.Int32,System.String&gt;</DeclaringType>
</MethodInfo>
</MethodInfo>
<HasSymbols>True</HasSymbols> <HasSymbols>True</HasSymbols>
<HasExpired>False</HasExpired> <HasExpired>False</HasExpired>
<Type>
<DebugType>
<ManagedType>null</ManagedType>
<Module>
<Module>
<Unloaded>False</Unloaded>
<SymReader>Debugger.Wrappers.CorSym.ISymUnmanagedReader</SymReader>
<CorModule>Debugger.Wrappers.CorDebug.ICorDebugModule</CorModule>
<BaseAdress>4194304</BaseAdress>
<IsDynamic>False</IsDynamic>
<IsInMemory>False</IsInMemory>
<FullPath>C:\Documents and Settings\User\Local Settings\Temp\SharpDevelop\DebuggerTests\1BB0DE2859DD9A8A9B239F74810B2C2A\Generics.exe</FullPath>
<Filename>Generics.exe</Filename>
<DirectoryName>C:\Documents and Settings\User\Local Settings\Temp\SharpDevelop\DebuggerTests\1BB0DE2859DD9A8A9B239F74810B2C2A</DirectoryName>
<SymbolsLoaded>True</SymbolsLoaded>
<OrderOfLoading>1</OrderOfLoading>
</Module>
</Module>
<MetadataToken>33554435</MetadataToken>
<FullName>Debugger.Tests.TestPrograms.GenericClass&lt;System.Int32,System.String&gt;</FullName>
<HasElementType>False</HasElementType>
<IsArray>False</IsArray>
<IsGenericType>True</IsGenericType>
<IsClass>True</IsClass>
<IsValueType>False</IsValueType>
<IsPrimitive>False</IsPrimitive>
<IsInteger>False</IsInteger>
<BaseType>
<DebugType>
<ManagedType>null</ManagedType>
<Module>
<Module>
<Unloaded>False</Unloaded>
<SymReader>null</SymReader>
<CorModule>Debugger.Wrappers.CorDebug.ICorDebugModule</CorModule>
<BaseAdress>2030829568</BaseAdress>
<IsDynamic>False</IsDynamic>
<IsInMemory>False</IsInMemory>
<FullPath>C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll</FullPath>
<Filename>mscorlib.dll</Filename>
<DirectoryName>C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089</DirectoryName>
<SymbolsLoaded>False</SymbolsLoaded>
<OrderOfLoading>0</OrderOfLoading>
</Module>
</Module>
<MetadataToken>33554434</MetadataToken>
<FullName>System.Object</FullName>
<HasElementType>False</HasElementType>
<IsArray>False</IsArray>
<IsGenericType>False</IsGenericType>
<IsClass>True</IsClass>
<IsValueType>False</IsValueType>
<IsPrimitive>False</IsPrimitive>
<IsInteger>False</IsInteger>
<BaseType>null</BaseType>
</DebugType>
</BaseType>
</DebugType>
</Type>
<NextStatement>Start=42,4 End=42,40</NextStatement> <NextStatement>Start=42,4 End=42,40</NextStatement>
<ThisValue> <ThisValue>
<Value> <Value>
@ -281,70 +179,19 @@
<DebuggingPaused>Break</DebuggingPaused> <DebuggingPaused>Break</DebuggingPaused>
<ObjectDump name="SelectedFunction"> <ObjectDump name="SelectedFunction">
<Function> <Function>
<Name>StaticMetod</Name> <MethodInfo>
<Module>Generics.exe</Module> <MethodInfo>
<IsStatic>True</IsStatic> <IsPrivate>False</IsPrivate>
<IsPublic>True</IsPublic>
<IsSpecialName>False</IsSpecialName>
<IsStatic>True</IsStatic>
<Name>StaticMetod</Name>
<Module>Generics.exe</Module>
<DeclaringType>Debugger.Tests.TestPrograms.GenericClass&lt;System.Int32,System.String&gt;</DeclaringType>
</MethodInfo>
</MethodInfo>
<HasSymbols>True</HasSymbols> <HasSymbols>True</HasSymbols>
<HasExpired>False</HasExpired> <HasExpired>False</HasExpired>
<Type>
<DebugType>
<ManagedType>null</ManagedType>
<Module>
<Module>
<Unloaded>False</Unloaded>
<SymReader>Debugger.Wrappers.CorSym.ISymUnmanagedReader</SymReader>
<CorModule>Debugger.Wrappers.CorDebug.ICorDebugModule</CorModule>
<BaseAdress>4194304</BaseAdress>
<IsDynamic>False</IsDynamic>
<IsInMemory>False</IsInMemory>
<FullPath>C:\Documents and Settings\User\Local Settings\Temp\SharpDevelop\DebuggerTests\1BB0DE2859DD9A8A9B239F74810B2C2A\Generics.exe</FullPath>
<Filename>Generics.exe</Filename>
<DirectoryName>C:\Documents and Settings\User\Local Settings\Temp\SharpDevelop\DebuggerTests\1BB0DE2859DD9A8A9B239F74810B2C2A</DirectoryName>
<SymbolsLoaded>True</SymbolsLoaded>
<OrderOfLoading>1</OrderOfLoading>
</Module>
</Module>
<MetadataToken>33554435</MetadataToken>
<FullName>Debugger.Tests.TestPrograms.GenericClass&lt;System.Int32,System.String&gt;</FullName>
<HasElementType>False</HasElementType>
<IsArray>False</IsArray>
<IsGenericType>True</IsGenericType>
<IsClass>True</IsClass>
<IsValueType>False</IsValueType>
<IsPrimitive>False</IsPrimitive>
<IsInteger>False</IsInteger>
<BaseType>
<DebugType>
<ManagedType>null</ManagedType>
<Module>
<Module>
<Unloaded>False</Unloaded>
<SymReader>null</SymReader>
<CorModule>Debugger.Wrappers.CorDebug.ICorDebugModule</CorModule>
<BaseAdress>2030829568</BaseAdress>
<IsDynamic>False</IsDynamic>
<IsInMemory>False</IsInMemory>
<FullPath>C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll</FullPath>
<Filename>mscorlib.dll</Filename>
<DirectoryName>C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089</DirectoryName>
<SymbolsLoaded>False</SymbolsLoaded>
<OrderOfLoading>0</OrderOfLoading>
</Module>
</Module>
<MetadataToken>33554434</MetadataToken>
<FullName>System.Object</FullName>
<HasElementType>False</HasElementType>
<IsArray>False</IsArray>
<IsGenericType>False</IsGenericType>
<IsClass>True</IsClass>
<IsValueType>False</IsValueType>
<IsPrimitive>False</IsPrimitive>
<IsInteger>False</IsInteger>
<BaseType>null</BaseType>
</DebugType>
</BaseType>
</DebugType>
</Type>
<NextStatement>Start=48,4 End=48,40</NextStatement> <NextStatement>Start=48,4 End=48,40</NextStatement>
<ThisValue exception="Static method does not have 'this'." /> <ThisValue exception="Static method does not have 'this'." />
<ContaingClassVariables> <ContaingClassVariables>
@ -402,70 +249,19 @@
<DebuggingPaused>Break</DebuggingPaused> <DebuggingPaused>Break</DebuggingPaused>
<ObjectDump name="SelectedFunction"> <ObjectDump name="SelectedFunction">
<Function> <Function>
<Name>StaticGenericMethod</Name> <MethodInfo>
<Module>Generics.exe</Module> <MethodInfo>
<IsStatic>True</IsStatic> <IsPrivate>False</IsPrivate>
<IsPublic>True</IsPublic>
<IsSpecialName>False</IsSpecialName>
<IsStatic>True</IsStatic>
<Name>StaticGenericMethod</Name>
<Module>Generics.exe</Module>
<DeclaringType>Debugger.Tests.TestPrograms.GenericClass&lt;System.Int32,System.String&gt;</DeclaringType>
</MethodInfo>
</MethodInfo>
<HasSymbols>True</HasSymbols> <HasSymbols>True</HasSymbols>
<HasExpired>False</HasExpired> <HasExpired>False</HasExpired>
<Type>
<DebugType>
<ManagedType>null</ManagedType>
<Module>
<Module>
<Unloaded>False</Unloaded>
<SymReader>Debugger.Wrappers.CorSym.ISymUnmanagedReader</SymReader>
<CorModule>Debugger.Wrappers.CorDebug.ICorDebugModule</CorModule>
<BaseAdress>4194304</BaseAdress>
<IsDynamic>False</IsDynamic>
<IsInMemory>False</IsInMemory>
<FullPath>C:\Documents and Settings\User\Local Settings\Temp\SharpDevelop\DebuggerTests\1BB0DE2859DD9A8A9B239F74810B2C2A\Generics.exe</FullPath>
<Filename>Generics.exe</Filename>
<DirectoryName>C:\Documents and Settings\User\Local Settings\Temp\SharpDevelop\DebuggerTests\1BB0DE2859DD9A8A9B239F74810B2C2A</DirectoryName>
<SymbolsLoaded>True</SymbolsLoaded>
<OrderOfLoading>1</OrderOfLoading>
</Module>
</Module>
<MetadataToken>33554435</MetadataToken>
<FullName>Debugger.Tests.TestPrograms.GenericClass&lt;System.Int32,System.String&gt;</FullName>
<HasElementType>False</HasElementType>
<IsArray>False</IsArray>
<IsGenericType>True</IsGenericType>
<IsClass>True</IsClass>
<IsValueType>False</IsValueType>
<IsPrimitive>False</IsPrimitive>
<IsInteger>False</IsInteger>
<BaseType>
<DebugType>
<ManagedType>null</ManagedType>
<Module>
<Module>
<Unloaded>False</Unloaded>
<SymReader>null</SymReader>
<CorModule>Debugger.Wrappers.CorDebug.ICorDebugModule</CorModule>
<BaseAdress>2030829568</BaseAdress>
<IsDynamic>False</IsDynamic>
<IsInMemory>False</IsInMemory>
<FullPath>C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll</FullPath>
<Filename>mscorlib.dll</Filename>
<DirectoryName>C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089</DirectoryName>
<SymbolsLoaded>False</SymbolsLoaded>
<OrderOfLoading>0</OrderOfLoading>
</Module>
</Module>
<MetadataToken>33554434</MetadataToken>
<FullName>System.Object</FullName>
<HasElementType>False</HasElementType>
<IsArray>False</IsArray>
<IsGenericType>False</IsGenericType>
<IsClass>True</IsClass>
<IsValueType>False</IsValueType>
<IsPrimitive>False</IsPrimitive>
<IsInteger>False</IsInteger>
<BaseType>null</BaseType>
</DebugType>
</BaseType>
</DebugType>
</Type>
<NextStatement>Start=54,4 End=54,40</NextStatement> <NextStatement>Start=54,4 End=54,40</NextStatement>
<ThisValue exception="Static method does not have 'this'." /> <ThisValue exception="Static method does not have 'this'." />
<ContaingClassVariables> <ContaingClassVariables>
@ -523,99 +319,19 @@
<DebuggingPaused>Break</DebuggingPaused> <DebuggingPaused>Break</DebuggingPaused>
<ObjectDump name="SelectedFunction"> <ObjectDump name="SelectedFunction">
<Function> <Function>
<Name>Metod</Name> <MethodInfo>
<Module>Generics.exe</Module> <MethodInfo>
<IsStatic>False</IsStatic> <IsPrivate>False</IsPrivate>
<IsPublic>True</IsPublic>
<IsSpecialName>False</IsSpecialName>
<IsStatic>False</IsStatic>
<Name>Metod</Name>
<Module>Generics.exe</Module>
<DeclaringType>Debugger.Tests.TestPrograms.GenericStruct&lt;System.Int32,System.String&gt;</DeclaringType>
</MethodInfo>
</MethodInfo>
<HasSymbols>True</HasSymbols> <HasSymbols>True</HasSymbols>
<HasExpired>False</HasExpired> <HasExpired>False</HasExpired>
<Type>
<DebugType>
<ManagedType>null</ManagedType>
<Module>
<Module>
<Unloaded>False</Unloaded>
<SymReader>Debugger.Wrappers.CorSym.ISymUnmanagedReader</SymReader>
<CorModule>Debugger.Wrappers.CorDebug.ICorDebugModule</CorModule>
<BaseAdress>4194304</BaseAdress>
<IsDynamic>False</IsDynamic>
<IsInMemory>False</IsInMemory>
<FullPath>C:\Documents and Settings\User\Local Settings\Temp\SharpDevelop\DebuggerTests\1BB0DE2859DD9A8A9B239F74810B2C2A\Generics.exe</FullPath>
<Filename>Generics.exe</Filename>
<DirectoryName>C:\Documents and Settings\User\Local Settings\Temp\SharpDevelop\DebuggerTests\1BB0DE2859DD9A8A9B239F74810B2C2A</DirectoryName>
<SymbolsLoaded>True</SymbolsLoaded>
<OrderOfLoading>1</OrderOfLoading>
</Module>
</Module>
<MetadataToken>33554436</MetadataToken>
<FullName>Debugger.Tests.TestPrograms.GenericStruct&lt;System.Int32,System.String&gt;</FullName>
<HasElementType>False</HasElementType>
<IsArray>False</IsArray>
<IsGenericType>True</IsGenericType>
<IsClass>False</IsClass>
<IsValueType>True</IsValueType>
<IsPrimitive>False</IsPrimitive>
<IsInteger>False</IsInteger>
<BaseType>
<DebugType>
<ManagedType>null</ManagedType>
<Module>
<Module>
<Unloaded>False</Unloaded>
<SymReader>null</SymReader>
<CorModule>Debugger.Wrappers.CorDebug.ICorDebugModule</CorModule>
<BaseAdress>2030829568</BaseAdress>
<IsDynamic>False</IsDynamic>
<IsInMemory>False</IsInMemory>
<FullPath>C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll</FullPath>
<Filename>mscorlib.dll</Filename>
<DirectoryName>C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089</DirectoryName>
<SymbolsLoaded>False</SymbolsLoaded>
<OrderOfLoading>0</OrderOfLoading>
</Module>
</Module>
<MetadataToken>33554446</MetadataToken>
<FullName>System.ValueType</FullName>
<HasElementType>False</HasElementType>
<IsArray>False</IsArray>
<IsGenericType>False</IsGenericType>
<IsClass>True</IsClass>
<IsValueType>False</IsValueType>
<IsPrimitive>False</IsPrimitive>
<IsInteger>False</IsInteger>
<BaseType>
<DebugType>
<ManagedType>null</ManagedType>
<Module>
<Module>
<Unloaded>False</Unloaded>
<SymReader>null</SymReader>
<CorModule>Debugger.Wrappers.CorDebug.ICorDebugModule</CorModule>
<BaseAdress>2030829568</BaseAdress>
<IsDynamic>False</IsDynamic>
<IsInMemory>False</IsInMemory>
<FullPath>C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll</FullPath>
<Filename>mscorlib.dll</Filename>
<DirectoryName>C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089</DirectoryName>
<SymbolsLoaded>False</SymbolsLoaded>
<OrderOfLoading>0</OrderOfLoading>
</Module>
</Module>
<MetadataToken>33554434</MetadataToken>
<FullName>System.Object</FullName>
<HasElementType>False</HasElementType>
<IsArray>False</IsArray>
<IsGenericType>False</IsGenericType>
<IsClass>True</IsClass>
<IsValueType>False</IsValueType>
<IsPrimitive>False</IsPrimitive>
<IsInteger>False</IsInteger>
<BaseType>null</BaseType>
</DebugType>
</BaseType>
</DebugType>
</BaseType>
</DebugType>
</Type>
<NextStatement>Start=63,4 End=63,40</NextStatement> <NextStatement>Start=63,4 End=63,40</NextStatement>
<ThisValue exception="Unknown type" /> <ThisValue exception="Unknown type" />
<ContaingClassVariables exception="Unknown type" /> <ContaingClassVariables exception="Unknown type" />
@ -668,99 +384,19 @@
<DebuggingPaused>Break</DebuggingPaused> <DebuggingPaused>Break</DebuggingPaused>
<ObjectDump name="SelectedFunction"> <ObjectDump name="SelectedFunction">
<Function> <Function>
<Name>GenericMethod</Name> <MethodInfo>
<Module>Generics.exe</Module> <MethodInfo>
<IsStatic>False</IsStatic> <IsPrivate>False</IsPrivate>
<IsPublic>True</IsPublic>
<IsSpecialName>False</IsSpecialName>
<IsStatic>False</IsStatic>
<Name>GenericMethod</Name>
<Module>Generics.exe</Module>
<DeclaringType>Debugger.Tests.TestPrograms.GenericStruct&lt;System.Int32,System.String&gt;</DeclaringType>
</MethodInfo>
</MethodInfo>
<HasSymbols>True</HasSymbols> <HasSymbols>True</HasSymbols>
<HasExpired>False</HasExpired> <HasExpired>False</HasExpired>
<Type>
<DebugType>
<ManagedType>null</ManagedType>
<Module>
<Module>
<Unloaded>False</Unloaded>
<SymReader>Debugger.Wrappers.CorSym.ISymUnmanagedReader</SymReader>
<CorModule>Debugger.Wrappers.CorDebug.ICorDebugModule</CorModule>
<BaseAdress>4194304</BaseAdress>
<IsDynamic>False</IsDynamic>
<IsInMemory>False</IsInMemory>
<FullPath>C:\Documents and Settings\User\Local Settings\Temp\SharpDevelop\DebuggerTests\1BB0DE2859DD9A8A9B239F74810B2C2A\Generics.exe</FullPath>
<Filename>Generics.exe</Filename>
<DirectoryName>C:\Documents and Settings\User\Local Settings\Temp\SharpDevelop\DebuggerTests\1BB0DE2859DD9A8A9B239F74810B2C2A</DirectoryName>
<SymbolsLoaded>True</SymbolsLoaded>
<OrderOfLoading>1</OrderOfLoading>
</Module>
</Module>
<MetadataToken>33554436</MetadataToken>
<FullName>Debugger.Tests.TestPrograms.GenericStruct&lt;System.Int32,System.String&gt;</FullName>
<HasElementType>False</HasElementType>
<IsArray>False</IsArray>
<IsGenericType>True</IsGenericType>
<IsClass>False</IsClass>
<IsValueType>True</IsValueType>
<IsPrimitive>False</IsPrimitive>
<IsInteger>False</IsInteger>
<BaseType>
<DebugType>
<ManagedType>null</ManagedType>
<Module>
<Module>
<Unloaded>False</Unloaded>
<SymReader>null</SymReader>
<CorModule>Debugger.Wrappers.CorDebug.ICorDebugModule</CorModule>
<BaseAdress>2030829568</BaseAdress>
<IsDynamic>False</IsDynamic>
<IsInMemory>False</IsInMemory>
<FullPath>C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll</FullPath>
<Filename>mscorlib.dll</Filename>
<DirectoryName>C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089</DirectoryName>
<SymbolsLoaded>False</SymbolsLoaded>
<OrderOfLoading>0</OrderOfLoading>
</Module>
</Module>
<MetadataToken>33554446</MetadataToken>
<FullName>System.ValueType</FullName>
<HasElementType>False</HasElementType>
<IsArray>False</IsArray>
<IsGenericType>False</IsGenericType>
<IsClass>True</IsClass>
<IsValueType>False</IsValueType>
<IsPrimitive>False</IsPrimitive>
<IsInteger>False</IsInteger>
<BaseType>
<DebugType>
<ManagedType>null</ManagedType>
<Module>
<Module>
<Unloaded>False</Unloaded>
<SymReader>null</SymReader>
<CorModule>Debugger.Wrappers.CorDebug.ICorDebugModule</CorModule>
<BaseAdress>2030829568</BaseAdress>
<IsDynamic>False</IsDynamic>
<IsInMemory>False</IsInMemory>
<FullPath>C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll</FullPath>
<Filename>mscorlib.dll</Filename>
<DirectoryName>C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089</DirectoryName>
<SymbolsLoaded>False</SymbolsLoaded>
<OrderOfLoading>0</OrderOfLoading>
</Module>
</Module>
<MetadataToken>33554434</MetadataToken>
<FullName>System.Object</FullName>
<HasElementType>False</HasElementType>
<IsArray>False</IsArray>
<IsGenericType>False</IsGenericType>
<IsClass>True</IsClass>
<IsValueType>False</IsValueType>
<IsPrimitive>False</IsPrimitive>
<IsInteger>False</IsInteger>
<BaseType>null</BaseType>
</DebugType>
</BaseType>
</DebugType>
</BaseType>
</DebugType>
</Type>
<NextStatement>Start=69,4 End=69,40</NextStatement> <NextStatement>Start=69,4 End=69,40</NextStatement>
<ThisValue exception="Unknown type" /> <ThisValue exception="Unknown type" />
<ContaingClassVariables exception="Unknown type" /> <ContaingClassVariables exception="Unknown type" />
@ -813,99 +449,19 @@
<DebuggingPaused>Break</DebuggingPaused> <DebuggingPaused>Break</DebuggingPaused>
<ObjectDump name="SelectedFunction"> <ObjectDump name="SelectedFunction">
<Function> <Function>
<Name>StaticMetod</Name> <MethodInfo>
<Module>Generics.exe</Module> <MethodInfo>
<IsStatic>True</IsStatic> <IsPrivate>False</IsPrivate>
<IsPublic>True</IsPublic>
<IsSpecialName>False</IsSpecialName>
<IsStatic>True</IsStatic>
<Name>StaticMetod</Name>
<Module>Generics.exe</Module>
<DeclaringType>Debugger.Tests.TestPrograms.GenericStruct&lt;System.Int32,System.String&gt;</DeclaringType>
</MethodInfo>
</MethodInfo>
<HasSymbols>True</HasSymbols> <HasSymbols>True</HasSymbols>
<HasExpired>False</HasExpired> <HasExpired>False</HasExpired>
<Type>
<DebugType>
<ManagedType>null</ManagedType>
<Module>
<Module>
<Unloaded>False</Unloaded>
<SymReader>Debugger.Wrappers.CorSym.ISymUnmanagedReader</SymReader>
<CorModule>Debugger.Wrappers.CorDebug.ICorDebugModule</CorModule>
<BaseAdress>4194304</BaseAdress>
<IsDynamic>False</IsDynamic>
<IsInMemory>False</IsInMemory>
<FullPath>C:\Documents and Settings\User\Local Settings\Temp\SharpDevelop\DebuggerTests\1BB0DE2859DD9A8A9B239F74810B2C2A\Generics.exe</FullPath>
<Filename>Generics.exe</Filename>
<DirectoryName>C:\Documents and Settings\User\Local Settings\Temp\SharpDevelop\DebuggerTests\1BB0DE2859DD9A8A9B239F74810B2C2A</DirectoryName>
<SymbolsLoaded>True</SymbolsLoaded>
<OrderOfLoading>1</OrderOfLoading>
</Module>
</Module>
<MetadataToken>33554436</MetadataToken>
<FullName>Debugger.Tests.TestPrograms.GenericStruct&lt;System.Int32,System.String&gt;</FullName>
<HasElementType>False</HasElementType>
<IsArray>False</IsArray>
<IsGenericType>True</IsGenericType>
<IsClass>False</IsClass>
<IsValueType>True</IsValueType>
<IsPrimitive>False</IsPrimitive>
<IsInteger>False</IsInteger>
<BaseType>
<DebugType>
<ManagedType>null</ManagedType>
<Module>
<Module>
<Unloaded>False</Unloaded>
<SymReader>null</SymReader>
<CorModule>Debugger.Wrappers.CorDebug.ICorDebugModule</CorModule>
<BaseAdress>2030829568</BaseAdress>
<IsDynamic>False</IsDynamic>
<IsInMemory>False</IsInMemory>
<FullPath>C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll</FullPath>
<Filename>mscorlib.dll</Filename>
<DirectoryName>C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089</DirectoryName>
<SymbolsLoaded>False</SymbolsLoaded>
<OrderOfLoading>0</OrderOfLoading>
</Module>
</Module>
<MetadataToken>33554446</MetadataToken>
<FullName>System.ValueType</FullName>
<HasElementType>False</HasElementType>
<IsArray>False</IsArray>
<IsGenericType>False</IsGenericType>
<IsClass>True</IsClass>
<IsValueType>False</IsValueType>
<IsPrimitive>False</IsPrimitive>
<IsInteger>False</IsInteger>
<BaseType>
<DebugType>
<ManagedType>null</ManagedType>
<Module>
<Module>
<Unloaded>False</Unloaded>
<SymReader>null</SymReader>
<CorModule>Debugger.Wrappers.CorDebug.ICorDebugModule</CorModule>
<BaseAdress>2030829568</BaseAdress>
<IsDynamic>False</IsDynamic>
<IsInMemory>False</IsInMemory>
<FullPath>C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll</FullPath>
<Filename>mscorlib.dll</Filename>
<DirectoryName>C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089</DirectoryName>
<SymbolsLoaded>False</SymbolsLoaded>
<OrderOfLoading>0</OrderOfLoading>
</Module>
</Module>
<MetadataToken>33554434</MetadataToken>
<FullName>System.Object</FullName>
<HasElementType>False</HasElementType>
<IsArray>False</IsArray>
<IsGenericType>False</IsGenericType>
<IsClass>True</IsClass>
<IsValueType>False</IsValueType>
<IsPrimitive>False</IsPrimitive>
<IsInteger>False</IsInteger>
<BaseType>null</BaseType>
</DebugType>
</BaseType>
</DebugType>
</BaseType>
</DebugType>
</Type>
<NextStatement>Start=75,4 End=75,40</NextStatement> <NextStatement>Start=75,4 End=75,40</NextStatement>
<ThisValue exception="Static method does not have 'this'." /> <ThisValue exception="Static method does not have 'this'." />
<ContaingClassVariables> <ContaingClassVariables>
@ -963,99 +519,19 @@
<DebuggingPaused>Break</DebuggingPaused> <DebuggingPaused>Break</DebuggingPaused>
<ObjectDump name="SelectedFunction"> <ObjectDump name="SelectedFunction">
<Function> <Function>
<Name>StaticGenericMethod</Name> <MethodInfo>
<Module>Generics.exe</Module> <MethodInfo>
<IsStatic>True</IsStatic> <IsPrivate>False</IsPrivate>
<IsPublic>True</IsPublic>
<IsSpecialName>False</IsSpecialName>
<IsStatic>True</IsStatic>
<Name>StaticGenericMethod</Name>
<Module>Generics.exe</Module>
<DeclaringType>Debugger.Tests.TestPrograms.GenericStruct&lt;System.Int32,System.String&gt;</DeclaringType>
</MethodInfo>
</MethodInfo>
<HasSymbols>True</HasSymbols> <HasSymbols>True</HasSymbols>
<HasExpired>False</HasExpired> <HasExpired>False</HasExpired>
<Type>
<DebugType>
<ManagedType>null</ManagedType>
<Module>
<Module>
<Unloaded>False</Unloaded>
<SymReader>Debugger.Wrappers.CorSym.ISymUnmanagedReader</SymReader>
<CorModule>Debugger.Wrappers.CorDebug.ICorDebugModule</CorModule>
<BaseAdress>4194304</BaseAdress>
<IsDynamic>False</IsDynamic>
<IsInMemory>False</IsInMemory>
<FullPath>C:\Documents and Settings\User\Local Settings\Temp\SharpDevelop\DebuggerTests\1BB0DE2859DD9A8A9B239F74810B2C2A\Generics.exe</FullPath>
<Filename>Generics.exe</Filename>
<DirectoryName>C:\Documents and Settings\User\Local Settings\Temp\SharpDevelop\DebuggerTests\1BB0DE2859DD9A8A9B239F74810B2C2A</DirectoryName>
<SymbolsLoaded>True</SymbolsLoaded>
<OrderOfLoading>1</OrderOfLoading>
</Module>
</Module>
<MetadataToken>33554436</MetadataToken>
<FullName>Debugger.Tests.TestPrograms.GenericStruct&lt;System.Int32,System.String&gt;</FullName>
<HasElementType>False</HasElementType>
<IsArray>False</IsArray>
<IsGenericType>True</IsGenericType>
<IsClass>False</IsClass>
<IsValueType>True</IsValueType>
<IsPrimitive>False</IsPrimitive>
<IsInteger>False</IsInteger>
<BaseType>
<DebugType>
<ManagedType>null</ManagedType>
<Module>
<Module>
<Unloaded>False</Unloaded>
<SymReader>null</SymReader>
<CorModule>Debugger.Wrappers.CorDebug.ICorDebugModule</CorModule>
<BaseAdress>2030829568</BaseAdress>
<IsDynamic>False</IsDynamic>
<IsInMemory>False</IsInMemory>
<FullPath>C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll</FullPath>
<Filename>mscorlib.dll</Filename>
<DirectoryName>C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089</DirectoryName>
<SymbolsLoaded>False</SymbolsLoaded>
<OrderOfLoading>0</OrderOfLoading>
</Module>
</Module>
<MetadataToken>33554446</MetadataToken>
<FullName>System.ValueType</FullName>
<HasElementType>False</HasElementType>
<IsArray>False</IsArray>
<IsGenericType>False</IsGenericType>
<IsClass>True</IsClass>
<IsValueType>False</IsValueType>
<IsPrimitive>False</IsPrimitive>
<IsInteger>False</IsInteger>
<BaseType>
<DebugType>
<ManagedType>null</ManagedType>
<Module>
<Module>
<Unloaded>False</Unloaded>
<SymReader>null</SymReader>
<CorModule>Debugger.Wrappers.CorDebug.ICorDebugModule</CorModule>
<BaseAdress>2030829568</BaseAdress>
<IsDynamic>False</IsDynamic>
<IsInMemory>False</IsInMemory>
<FullPath>C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll</FullPath>
<Filename>mscorlib.dll</Filename>
<DirectoryName>C:\WINDOWS\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089</DirectoryName>
<SymbolsLoaded>False</SymbolsLoaded>
<OrderOfLoading>0</OrderOfLoading>
</Module>
</Module>
<MetadataToken>33554434</MetadataToken>
<FullName>System.Object</FullName>
<HasElementType>False</HasElementType>
<IsArray>False</IsArray>
<IsGenericType>False</IsGenericType>
<IsClass>True</IsClass>
<IsValueType>False</IsValueType>
<IsPrimitive>False</IsPrimitive>
<IsInteger>False</IsInteger>
<BaseType>null</BaseType>
</DebugType>
</BaseType>
</DebugType>
</BaseType>
</DebugType>
</Type>
<NextStatement>Start=81,4 End=81,40</NextStatement> <NextStatement>Start=81,4 End=81,40</NextStatement>
<ThisValue exception="Static method does not have 'this'." /> <ThisValue exception="Static method does not have 'this'." />
<ContaingClassVariables> <ContaingClassVariables>

126
src/AddIns/Misc/Debugger/Debugger.Tests/Project/Src/TestPrograms/Stepping.xml

@ -8,9 +8,17 @@
<DebuggingPaused>Break</DebuggingPaused> <DebuggingPaused>Break</DebuggingPaused>
<ObjectDump name="SelectedFunction"> <ObjectDump name="SelectedFunction">
<Function> <Function>
<Name>Main</Name> <MethodInfo>
<Module>Stepping.exe</Module> <MethodInfo>
<IsStatic>True</IsStatic> <IsPrivate>False</IsPrivate>
<IsPublic>True</IsPublic>
<IsSpecialName>False</IsSpecialName>
<IsStatic>True</IsStatic>
<Name>Main</Name>
<Module>Stepping.exe</Module>
<DeclaringType>Debugger.Tests.TestPrograms.Stepping</DeclaringType>
</MethodInfo>
</MethodInfo>
<HasSymbols>True</HasSymbols> <HasSymbols>True</HasSymbols>
<HasExpired>False</HasExpired> <HasExpired>False</HasExpired>
<NextStatement>Start=16,4 End=16,40</NextStatement> <NextStatement>Start=16,4 End=16,40</NextStatement>
@ -39,9 +47,17 @@
<DebuggingPaused>StepComplete</DebuggingPaused> <DebuggingPaused>StepComplete</DebuggingPaused>
<ObjectDump name="SelectedFunction"> <ObjectDump name="SelectedFunction">
<Function> <Function>
<Name>Main</Name> <MethodInfo>
<Module>Stepping.exe</Module> <MethodInfo>
<IsStatic>True</IsStatic> <IsPrivate>False</IsPrivate>
<IsPublic>True</IsPublic>
<IsSpecialName>False</IsSpecialName>
<IsStatic>True</IsStatic>
<Name>Main</Name>
<Module>Stepping.exe</Module>
<DeclaringType>Debugger.Tests.TestPrograms.Stepping</DeclaringType>
</MethodInfo>
</MethodInfo>
<HasSymbols>True</HasSymbols> <HasSymbols>True</HasSymbols>
<HasExpired>False</HasExpired> <HasExpired>False</HasExpired>
<NextStatement>Start=17,4 End=17,44</NextStatement> <NextStatement>Start=17,4 End=17,44</NextStatement>
@ -73,9 +89,17 @@
<DebuggingPaused>StepComplete</DebuggingPaused> <DebuggingPaused>StepComplete</DebuggingPaused>
<ObjectDump name="SelectedFunction"> <ObjectDump name="SelectedFunction">
<Function> <Function>
<Name>Main</Name> <MethodInfo>
<Module>Stepping.exe</Module> <MethodInfo>
<IsStatic>True</IsStatic> <IsPrivate>False</IsPrivate>
<IsPublic>True</IsPublic>
<IsSpecialName>False</IsSpecialName>
<IsStatic>True</IsStatic>
<Name>Main</Name>
<Module>Stepping.exe</Module>
<DeclaringType>Debugger.Tests.TestPrograms.Stepping</DeclaringType>
</MethodInfo>
</MethodInfo>
<HasSymbols>True</HasSymbols> <HasSymbols>True</HasSymbols>
<HasExpired>False</HasExpired> <HasExpired>False</HasExpired>
<NextStatement>Start=18,4 End=18,10</NextStatement> <NextStatement>Start=18,4 End=18,10</NextStatement>
@ -104,9 +128,17 @@
<DebuggingPaused>StepComplete</DebuggingPaused> <DebuggingPaused>StepComplete</DebuggingPaused>
<ObjectDump name="SelectedFunction"> <ObjectDump name="SelectedFunction">
<Function> <Function>
<Name>Sub</Name> <MethodInfo>
<Module>Stepping.exe</Module> <MethodInfo>
<IsStatic>True</IsStatic> <IsPrivate>False</IsPrivate>
<IsPublic>True</IsPublic>
<IsSpecialName>False</IsSpecialName>
<IsStatic>True</IsStatic>
<Name>Sub</Name>
<Module>Stepping.exe</Module>
<DeclaringType>Debugger.Tests.TestPrograms.Stepping</DeclaringType>
</MethodInfo>
</MethodInfo>
<HasSymbols>True</HasSymbols> <HasSymbols>True</HasSymbols>
<HasExpired>False</HasExpired> <HasExpired>False</HasExpired>
<NextStatement>Start=23,3 End=23,4</NextStatement> <NextStatement>Start=23,3 End=23,4</NextStatement>
@ -135,9 +167,17 @@
<DebuggingPaused>StepComplete</DebuggingPaused> <DebuggingPaused>StepComplete</DebuggingPaused>
<ObjectDump name="SelectedFunction"> <ObjectDump name="SelectedFunction">
<Function> <Function>
<Name>Sub</Name> <MethodInfo>
<Module>Stepping.exe</Module> <MethodInfo>
<IsStatic>True</IsStatic> <IsPrivate>False</IsPrivate>
<IsPublic>True</IsPublic>
<IsSpecialName>False</IsSpecialName>
<IsStatic>True</IsStatic>
<Name>Sub</Name>
<Module>Stepping.exe</Module>
<DeclaringType>Debugger.Tests.TestPrograms.Stepping</DeclaringType>
</MethodInfo>
</MethodInfo>
<HasSymbols>True</HasSymbols> <HasSymbols>True</HasSymbols>
<HasExpired>False</HasExpired> <HasExpired>False</HasExpired>
<NextStatement>Start=24,4 End=24,44</NextStatement> <NextStatement>Start=24,4 End=24,44</NextStatement>
@ -167,9 +207,17 @@
<DebuggingPaused>StepComplete</DebuggingPaused> <DebuggingPaused>StepComplete</DebuggingPaused>
<ObjectDump name="SelectedFunction"> <ObjectDump name="SelectedFunction">
<Function> <Function>
<Name>Sub</Name> <MethodInfo>
<Module>Stepping.exe</Module> <MethodInfo>
<IsStatic>True</IsStatic> <IsPrivate>False</IsPrivate>
<IsPublic>True</IsPublic>
<IsSpecialName>False</IsSpecialName>
<IsStatic>True</IsStatic>
<Name>Sub</Name>
<Module>Stepping.exe</Module>
<DeclaringType>Debugger.Tests.TestPrograms.Stepping</DeclaringType>
</MethodInfo>
</MethodInfo>
<HasSymbols>True</HasSymbols> <HasSymbols>True</HasSymbols>
<HasExpired>False</HasExpired> <HasExpired>False</HasExpired>
<NextStatement>Start=25,4 End=25,44</NextStatement> <NextStatement>Start=25,4 End=25,44</NextStatement>
@ -200,9 +248,17 @@
<DebuggingPaused>StepComplete</DebuggingPaused> <DebuggingPaused>StepComplete</DebuggingPaused>
<ObjectDump name="SelectedFunction"> <ObjectDump name="SelectedFunction">
<Function> <Function>
<Name>Main</Name> <MethodInfo>
<Module>Stepping.exe</Module> <MethodInfo>
<IsStatic>True</IsStatic> <IsPrivate>False</IsPrivate>
<IsPublic>True</IsPublic>
<IsSpecialName>False</IsSpecialName>
<IsStatic>True</IsStatic>
<Name>Main</Name>
<Module>Stepping.exe</Module>
<DeclaringType>Debugger.Tests.TestPrograms.Stepping</DeclaringType>
</MethodInfo>
</MethodInfo>
<HasSymbols>True</HasSymbols> <HasSymbols>True</HasSymbols>
<HasExpired>False</HasExpired> <HasExpired>False</HasExpired>
<NextStatement>Start=18,4 End=18,10</NextStatement> <NextStatement>Start=18,4 End=18,10</NextStatement>
@ -231,9 +287,17 @@
<DebuggingPaused>StepComplete</DebuggingPaused> <DebuggingPaused>StepComplete</DebuggingPaused>
<ObjectDump name="SelectedFunction"> <ObjectDump name="SelectedFunction">
<Function> <Function>
<Name>Main</Name> <MethodInfo>
<Module>Stepping.exe</Module> <MethodInfo>
<IsStatic>True</IsStatic> <IsPrivate>False</IsPrivate>
<IsPublic>True</IsPublic>
<IsSpecialName>False</IsSpecialName>
<IsStatic>True</IsStatic>
<Name>Main</Name>
<Module>Stepping.exe</Module>
<DeclaringType>Debugger.Tests.TestPrograms.Stepping</DeclaringType>
</MethodInfo>
</MethodInfo>
<HasSymbols>True</HasSymbols> <HasSymbols>True</HasSymbols>
<HasExpired>False</HasExpired> <HasExpired>False</HasExpired>
<NextStatement>Start=19,4 End=19,11</NextStatement> <NextStatement>Start=19,4 End=19,11</NextStatement>
@ -263,9 +327,17 @@
<DebuggingPaused>StepComplete</DebuggingPaused> <DebuggingPaused>StepComplete</DebuggingPaused>
<ObjectDump name="SelectedFunction"> <ObjectDump name="SelectedFunction">
<Function> <Function>
<Name>Main</Name> <MethodInfo>
<Module>Stepping.exe</Module> <MethodInfo>
<IsStatic>True</IsStatic> <IsPrivate>False</IsPrivate>
<IsPublic>True</IsPublic>
<IsSpecialName>False</IsSpecialName>
<IsStatic>True</IsStatic>
<Name>Main</Name>
<Module>Stepping.exe</Module>
<DeclaringType>Debugger.Tests.TestPrograms.Stepping</DeclaringType>
</MethodInfo>
</MethodInfo>
<HasSymbols>True</HasSymbols> <HasSymbols>True</HasSymbols>
<HasExpired>False</HasExpired> <HasExpired>False</HasExpired>
<NextStatement>Start=20,3 End=20,4</NextStatement> <NextStatement>Start=20,3 End=20,4</NextStatement>

Loading…
Cancel
Save