diff --git a/source2/Compiler/Cosmos.Compiler.DebugStub/DebugStub.cs b/source2/Compiler/Cosmos.Compiler.DebugStub/DebugStub.cs index 4b43d8044..5c2e9a11d 100644 --- a/source2/Compiler/Cosmos.Compiler.DebugStub/DebugStub.cs +++ b/source2/Compiler/Cosmos.Compiler.DebugStub/DebugStub.cs @@ -404,6 +404,18 @@ namespace Cosmos.Compiler.DebugStub { Jump("DebugStub_Break_Exit"); Label = "DebugStub_Break_StepInto_After"; + AL.Compare(Command.StepOver); + JumpIf(Flags.NotEqual, "DebugStub_Break_StepOver_After"); + Memory["DebugBreakOnNextTrace", 32] = 1; + Jump("DebugStub_Break_Exit"); + Label = "DebugStub_Break_StepOver_After"; + + AL.Compare(Command.StepOut); + JumpIf(Flags.NotEqual, "DebugStub_Break_StepOut_After"); + Memory["DebugBreakOnNextTrace", 32] = 1; + Jump("DebugStub_Break_Exit"); + Label = "DebugStub_Break_StepOut_After"; + // Loop around and wait for another command Jump("DebugStub_WaitCmd"); diff --git a/source2/Debug/Cosmos.Debug.VSDebugEngine/AD7.Impl/AD7Process.cs b/source2/Debug/Cosmos.Debug.VSDebugEngine/AD7.Impl/AD7Process.cs index f971977d0..3f0705ee7 100644 --- a/source2/Debug/Cosmos.Debug.VSDebugEngine/AD7.Impl/AD7Process.cs +++ b/source2/Debug/Cosmos.Debug.VSDebugEngine/AD7.Impl/AD7Process.cs @@ -445,14 +445,14 @@ namespace Cosmos.Debug.VSDebugEngine { mDbgConnector.SendCommand(Command.StepInto); } else if (aKind == enum_STEPKIND.STEP_OVER) { // F10 - //mDbgConnector.SendCommand(Command.StepOver); - MessageBox.Show("F10 Step Over is not supported yet."); - mCallback.OnStepComplete(); // Have to call this otherwise VS gets "stuck" + mDbgConnector.SendCommand(Command.StepOver); + //MessageBox.Show("F10 Step Over is not supported yet."); + //mCallback.OnStepComplete(); // Have to call this otherwise VS gets "stuck" } else if (aKind == enum_STEPKIND.STEP_OUT) { // Shift-F11 - //mDbgConnector.SendCommand(Command.StepOut); - MessageBox.Show("Shift-F11 Step Out is not supported yet."); - mCallback.OnStepComplete(); // Have to call this otherwise VS gets "stuck" + mDbgConnector.SendCommand(Command.StepOut); + //MessageBox.Show("Shift-F11 Step Out is not supported yet."); + //mCallback.OnStepComplete(); // Have to call this otherwise VS gets "stuck" } else if (aKind == enum_STEPKIND.STEP_BACKWARDS) { // STEP_BACKWARDS - Supported at all by VS?