diff --git a/src/native/managed/cdac/Microsoft.Diagnostics.DataContractReader.Contracts/Contracts/StackWalk/Context/X86Context.cs b/src/native/managed/cdac/Microsoft.Diagnostics.DataContractReader.Contracts/Contracts/StackWalk/Context/X86Context.cs index 08fac2a6f5b3ea..d637dbe636426b 100644 --- a/src/native/managed/cdac/Microsoft.Diagnostics.DataContractReader.Contracts/Contracts/StackWalk/Context/X86Context.cs +++ b/src/native/managed/cdac/Microsoft.Diagnostics.DataContractReader.Contracts/Contracts/StackWalk/Context/X86Context.cs @@ -16,14 +16,14 @@ public struct X86Context : IPlatformContext [Flags] public enum ContextFlagsValues : uint { - CONTEXT_i386 = 0x00100000, + CONTEXT_i386 = 0x00010000, CONTEXT_CONTROL = CONTEXT_i386 | 0x1, CONTEXT_INTEGER = CONTEXT_i386 | 0x2, CONTEXT_SEGMENTS = CONTEXT_i386 | 0x4, CONTEXT_FLOATING_POINT = CONTEXT_i386 | 0x8, CONTEXT_DEBUG_REGISTERS = CONTEXT_i386 | 0x10, CONTEXT_EXTENDED_REGISTERS = CONTEXT_i386 | 0x20, - CONTEXT_FULL = CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_FLOATING_POINT, + CONTEXT_FULL = CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_SEGMENTS, CONTEXT_ALL = CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_SEGMENTS | CONTEXT_FLOATING_POINT | CONTEXT_DEBUG_REGISTERS | CONTEXT_EXTENDED_REGISTERS, CONTEXT_XSTATE = CONTEXT_i386 | 0x40, diff --git a/src/native/managed/cdac/tests/UnitTests/PlatformContextTests.cs b/src/native/managed/cdac/tests/UnitTests/PlatformContextTests.cs index 3adbf371674f94..7f4d1d9b65457e 100644 --- a/src/native/managed/cdac/tests/UnitTests/PlatformContextTests.cs +++ b/src/native/managed/cdac/tests/UnitTests/PlatformContextTests.cs @@ -96,6 +96,16 @@ public void X86_OutOfRange_ReturnsFalse(int regNum) Assert.False(ctx.TryReadRegister(regNum, out _)); } + [Fact] + public void X86_ContextFlags_MatchNativeContext() + { + var ctx = new X86Context(); + + Assert.Equal(0x00010001u, ctx.ContextControlFlags); + Assert.Equal(0x00010007u, ctx.FullContextFlags); + Assert.Equal(0x0001003fu, ctx.AllContextFlags); + } + [Theory] [InlineData(0, 0x1234UL)] // R0 [InlineData(3, 0x2000UL)] // Sp @@ -188,4 +198,4 @@ public void UnsetSingleStepFlag_IsNoOp_OnEmulatedSingleStepArches(IPlatformAgnos Assert.Equal(before, ctx.GetBytes()); } -} \ No newline at end of file +}