Description
Description
When interop debugging an app running .net core and stopped at a native frame, attempting to step into a managed function call fails to go into the managed side.
Upon some investigation by us (the vs debugger), it appears that the same scenario in .net framework will send us a step complete event when this step in is requested. We then are able to correctly stop at the right spot on the managed side. In .net core, this event never comes in so we just step over the call to the managed function. We have our stepper use ICorDebugStepper->Step(stepIn:true)
I am unsure if there's some callback we need to provide or some additional setup so that we get notified about the step completion. There is a good chance this is a long-standing issue. Recent efforts to increase our net core interop testing revealed this issue.
This sample app shows the issue happening (open the .sln file)
ConsoleApp1.zip
Reproduction Steps
- Start in a native frame
- Step to a call to a managed function
- Step-in
Expected behavior
Step into managed side works
Actual behavior
We step over the managed function call
Regression?
No response
Known Workarounds
Enabling JMC partially hides this behavior. If the managed function being stepped into is user code, the step in works as expected.
Configuration
.net 6 and .net 8 preview both show this behavior
Other information
No response