This repository was archived by the owner on Oct 16, 2020. It is now read-only.
This repository was archived by the owner on Oct 16, 2020. It is now read-only.
'Step in' in JMC mode may skip user code on .NET 4.5.2 #472
Open
Description
- Create a C# console application
- Ensure the 'just my code' debugger option is enabled
- Use the following program code:
using System;
using System.Diagnostics;
class Program
{
[DebuggerStepThrough]
static void StepRoot()
{
IgnoredClass.StepLeft();
StepRight();
}
[DebuggerNonUserCode]
public class IgnoredClass {
public static void StepLeft() {}
}
static void StepRight() {}
public static void Main(string[] args)
{
StepRoot();
}
}
- Place a breakpoint on 'StepRoot()' in the main method.
- Run the program
- Use F11 to step into the method call.
Expected result: the debugger steps into StepRight
, as that is the first method called by StepRoot()
which isn't supposed to be skipped.
Running SharpDevelop on .NET 4.5.1, this works as expected. But on .NET 4.5.2, the actual result is: the debugger steps over the whole StepRoot()
call.
This is the ControlFlow_Stepping
debugger unit test.