diff --git a/source2/Compiler/Cosmos.Compiler.DebugStub/DebugStub.cs b/source2/Compiler/Cosmos.Compiler.DebugStub/DebugStub.cs index 9791e8ff8..5e173b76a 100644 --- a/source2/Compiler/Cosmos.Compiler.DebugStub/DebugStub.cs +++ b/source2/Compiler/Cosmos.Compiler.DebugStub/DebugStub.cs @@ -316,7 +316,7 @@ namespace Cosmos.Compiler.DebugStub { Call(); ESI = Memory["DebugEBP", 32]; - ESI.Add(4); // Dont transmit [EBP], its the saved EIP and not needed + ESI.Add(8); // Dont transmit EIP or old EBP for (int i = 1; i <= xCount; i++) { Call("WriteByteToComPort"); } diff --git a/source2/Users/Kudzu/Breakpoints/NullableTest.cs b/source2/Users/Kudzu/Breakpoints/NullableTest.cs index de18507fb..b77387142 100644 --- a/source2/Users/Kudzu/Breakpoints/NullableTest.cs +++ b/source2/Users/Kudzu/Breakpoints/NullableTest.cs @@ -11,6 +11,7 @@ namespace BreakpointsKernel { // If you comment out the x2 and y2 you will see 32 instead. // How to reproduce this outside of this changeset? Cant seem to repro it here. + protected UInt32? aSize; protected UInt32? mSize; public virtual UInt32? Size { get { return mSize; } diff --git a/source2/VSIP/Cosmos.VS.Windows/StackUC.xaml.cs b/source2/VSIP/Cosmos.VS.Windows/StackUC.xaml.cs index 55bc9eca6..1a48d1cf5 100644 --- a/source2/VSIP/Cosmos.VS.Windows/StackUC.xaml.cs +++ b/source2/VSIP/Cosmos.VS.Windows/StackUC.xaml.cs @@ -40,8 +40,9 @@ namespace Cosmos.Cosmos_VS_Windows { var xSB = new StringBuilder(); xSB.AppendLine("Arguments"); for (int i = 0; i < xCount; i++) { - // We start at EBP + 4, because [EBP] is not transmitted - // ([EBP] is saved EIP, not needed) + // We start at EBP + 8, because lower is not transmitted + // [EBP] is saved EIP - not needed + // [EBP + 4] is old EBP - not needed xSB.AppendLine("[EBP + " + (i * 4 + 4) + "] 0x" + xValues[i]); } tboxSourceFrame.Text = xSB.ToString();