From cf986920e858b7f3f4197d11533dcb0716966278 Mon Sep 17 00:00:00 2001 From: rcj1 Date: Thu, 16 Jul 2026 10:27:58 -0700 Subject: [PATCH 1/4] E --- .../Contracts/StackWalk/Context/X86Context.cs | 4 ++-- .../cdac/tests/UnitTests/PlatformContextTests.cs | 11 +++++++++++ 2 files changed, 13 insertions(+), 2 deletions(-) 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..b7e7d6bbd1aff4 100644 --- a/src/native/managed/cdac/tests/UnitTests/PlatformContextTests.cs +++ b/src/native/managed/cdac/tests/UnitTests/PlatformContextTests.cs @@ -96,6 +96,17 @@ 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); + Assert.Equal(0x00010020u, ctx.ExtendedRegistersFlag); + } + [Theory] [InlineData(0, 0x1234UL)] // R0 [InlineData(3, 0x2000UL)] // Sp From 033e4425f215d8a352f776d2e93e5239f393a36d Mon Sep 17 00:00:00 2001 From: Rachel Jarvi Date: Thu, 16 Jul 2026 15:24:05 -0700 Subject: [PATCH 2/4] Update PlatformContextTests.cs --- .../managed/cdac/tests/UnitTests/PlatformContextTests.cs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/native/managed/cdac/tests/UnitTests/PlatformContextTests.cs b/src/native/managed/cdac/tests/UnitTests/PlatformContextTests.cs index b7e7d6bbd1aff4..7f4d1d9b65457e 100644 --- a/src/native/managed/cdac/tests/UnitTests/PlatformContextTests.cs +++ b/src/native/managed/cdac/tests/UnitTests/PlatformContextTests.cs @@ -104,7 +104,6 @@ public void X86_ContextFlags_MatchNativeContext() Assert.Equal(0x00010001u, ctx.ContextControlFlags); Assert.Equal(0x00010007u, ctx.FullContextFlags); Assert.Equal(0x0001003fu, ctx.AllContextFlags); - Assert.Equal(0x00010020u, ctx.ExtendedRegistersFlag); } [Theory] @@ -199,4 +198,4 @@ public void UnsetSingleStepFlag_IsNoOp_OnEmulatedSingleStepArches(IPlatformAgnos Assert.Equal(before, ctx.GetBytes()); } -} \ No newline at end of file +} From 3d7e52226ac6c3fce271f2493c52c6b737e10929 Mon Sep 17 00:00:00 2001 From: Rachel Jarvi Date: Fri, 17 Jul 2026 10:56:37 -0700 Subject: [PATCH 3/4] Update X86Context.cs --- .../Contracts/StackWalk/Context/X86Context.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 d637dbe636426b..8737e2f2490cf6 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 @@ -8,7 +8,7 @@ namespace Microsoft.Diagnostics.DataContractReader.Contracts.StackWalkHelpers; /// -/// X86-specific windows thread context. +/// X86-specific windows thread context. /// [StructLayout(LayoutKind.Explicit, Pack = 1)] public struct X86Context : IPlatformContext From 1e4d1cbf47e8b3bd64d434c7a25388c723c06c30 Mon Sep 17 00:00:00 2001 From: Rachel Jarvi Date: Fri, 17 Jul 2026 10:57:04 -0700 Subject: [PATCH 4/4] Fix comment formatting in X86Context.cs --- .../Contracts/StackWalk/Context/X86Context.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 8737e2f2490cf6..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 @@ -8,7 +8,7 @@ namespace Microsoft.Diagnostics.DataContractReader.Contracts.StackWalkHelpers; /// -/// X86-specific windows thread context. +/// X86-specific windows thread context. /// [StructLayout(LayoutKind.Explicit, Pack = 1)] public struct X86Context : IPlatformContext