#develop (short for SharpDevelop) is a free IDE for .NET programming languages.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

119 lines
3.6 KiB

// <file>
// <copyright see="prj:///doc/copyright.txt"/>
// <license see="prj:///doc/license.txt"/>
// <owner name="David Srbecký" email="dsrbecky@gmail.com"/>
// <version>$Revision$</version>
// </file>
using System;
namespace Debugger.Tests.TestPrograms
{
public class Callstack
{
public static void Main()
{
Sub1();
}
static void Sub1()
{
Sub2();
}
static void Sub2()
{
System.Diagnostics.Debugger.Break();
}
}
}
#if TEST_CODE
namespace Debugger.Tests {
public partial class DebuggerTests
{
[NUnit.Framework.Test]
public void Callstack()
{
StartTest("Callstack.cs");
ObjectDump("Callstack", process.SelectedThread.GetCallstack());
process.SelectedStackFrame.StepOut();
ObjectDump("Callstack", process.SelectedThread.GetCallstack());
process.SelectedStackFrame.StepOut();
ObjectDump("Callstack", process.SelectedThread.GetCallstack());
EndTest();
}
}
}
#endif
#if EXPECTED_OUTPUT
<?xml version="1.0" encoding="utf-8"?>
<DebuggerTests>
<Test name="Callstack.cs">
<ProcessStarted />
<ModuleLoaded symbols="False">mscorlib.dll</ModuleLoaded>
<ModuleLoaded symbols="True">Callstack.exe</ModuleLoaded>
<DebuggingPaused>Break</DebuggingPaused>
<Callstack Type="StackFrame[]" ToString="Debugger.StackFrame[]">
<Item Type="StackFrame" ToString="Debugger.Tests.TestPrograms.Callstack.Sub2">
<ArgumentCount>0</ArgumentCount>
<Depth>0</Depth>
<HasExpired>False</HasExpired>
<HasSymbols>True</HasSymbols>
<MethodInfo>Sub2</MethodInfo>
<NextStatement>Start=26,4 End=26,40</NextStatement>
</Item>
<Item Type="StackFrame" ToString="Debugger.Tests.TestPrograms.Callstack.Sub1">
<ArgumentCount>0</ArgumentCount>
<Depth>1</Depth>
<HasExpired>False</HasExpired>
<HasSymbols>True</HasSymbols>
<MethodInfo>Sub1</MethodInfo>
<NextStatement>Start=21,4 End=21,11</NextStatement>
</Item>
<Item Type="StackFrame" ToString="Debugger.Tests.TestPrograms.Callstack.Main">
<ArgumentCount>0</ArgumentCount>
<Depth>2</Depth>
<HasExpired>False</HasExpired>
<HasSymbols>True</HasSymbols>
<MethodInfo>Main</MethodInfo>
<NextStatement>Start=16,4 End=16,11</NextStatement>
</Item>
</Callstack>
<DebuggingPaused>StepComplete</DebuggingPaused>
<Callstack Type="StackFrame[]" ToString="Debugger.StackFrame[]">
<Item Type="StackFrame" ToString="Debugger.Tests.TestPrograms.Callstack.Sub1">
<ArgumentCount>0</ArgumentCount>
<Depth>0</Depth>
<HasExpired>False</HasExpired>
<HasSymbols>True</HasSymbols>
<MethodInfo>Sub1</MethodInfo>
<NextStatement>Start=21,4 End=21,11</NextStatement>
</Item>
<Item Type="StackFrame" ToString="Debugger.Tests.TestPrograms.Callstack.Main">
<ArgumentCount>0</ArgumentCount>
<Depth>1</Depth>
<HasExpired>False</HasExpired>
<HasSymbols>True</HasSymbols>
<MethodInfo>Main</MethodInfo>
<NextStatement>Start=16,4 End=16,11</NextStatement>
</Item>
</Callstack>
<DebuggingPaused>StepComplete</DebuggingPaused>
<Callstack Type="StackFrame[]" ToString="Debugger.StackFrame[]">
<Item Type="StackFrame" ToString="Debugger.Tests.TestPrograms.Callstack.Main">
<ArgumentCount>0</ArgumentCount>
<Depth>0</Depth>
<HasExpired>False</HasExpired>
<HasSymbols>True</HasSymbols>
<MethodInfo>Main</MethodInfo>
<NextStatement>Start=16,4 End=16,11</NextStatement>
</Item>
</Callstack>
<ProcessExited />
</Test>
</DebuggerTests>
#endif // EXPECTED_OUTPUT