From b7fa8474eee26cb49762733e4738925d2240031f Mon Sep 17 00:00:00 2001 From: Andrew Wang Date: Tue, 27 Jan 2026 13:43:11 -0800 Subject: [PATCH 1/2] Update BasicCallStack Test Frame lines This PR updates checkCallStack line 81 to 80 which matches what the cpp file has. Same with callback func --- test/CppTests/Tests/ExpressionTests.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/CppTests/Tests/ExpressionTests.cs b/test/CppTests/Tests/ExpressionTests.cs index c73279ef9..464eb470b 100644 --- a/test/CppTests/Tests/ExpressionTests.cs +++ b/test/CppTests/Tests/ExpressionTests.cs @@ -530,8 +530,8 @@ private static StackFrame[] GenerateFramesList(IDebuggerSettings debugger) new StackFrame(10, "accumulate(", "expression.cpp", null), new StackFrame(12, "accumulate(", "expression.cpp", null), new StackFrame(12, "accumulate(", "expression.cpp", null), - new StackFrame(20, "func(", "expression.cpp", null), - new StackFrame(81, "Expression::checkCallStack(", "expression.cpp", null), + new StackFrame(19, "func(", "expression.cpp", null), + new StackFrame(80, "Expression::checkCallStack(", "expression.cpp", null), new StackFrame(74, "Expression::checkPrettyPrinting(", "expression.cpp", null), new StackFrame(63, "Expression::checkSpecialValues(", "expression.cpp", null), new StackFrame(53, "Expression::checkClassOnStackAndHeap(", "expression.cpp", null), From d6b944fa00a81451b93e5a938caa078684165d58 Mon Sep 17 00:00:00 2001 From: Andrew Wang Date: Tue, 27 Jan 2026 17:22:11 -0800 Subject: [PATCH 2/2] x86 and x64 should be the same now --- test/CppTests/Tests/ExpressionTests.cs | 52 ++++++++------------------ 1 file changed, 15 insertions(+), 37 deletions(-) diff --git a/test/CppTests/Tests/ExpressionTests.cs b/test/CppTests/Tests/ExpressionTests.cs index 464eb470b..7b2f4c105 100644 --- a/test/CppTests/Tests/ExpressionTests.cs +++ b/test/CppTests/Tests/ExpressionTests.cs @@ -523,43 +523,21 @@ private static StackFrame[] GenerateFramesList(IDebuggerSettings debugger) // VsDbg moves the stack pointer to the return address which is not necessarily the calling address if (debugger.DebuggerType == SupportedDebugger.VsDbg) { - // Visual C++ compiler for x64 and x86 generate symbols differently which means that the line numbers will be different. - if (debugger.DebuggeeArchitecture == SupportedArchitecture.x64) - { - return new[] { - new StackFrame(10, "accumulate(", "expression.cpp", null), - new StackFrame(12, "accumulate(", "expression.cpp", null), - new StackFrame(12, "accumulate(", "expression.cpp", null), - new StackFrame(19, "func(", "expression.cpp", null), - new StackFrame(80, "Expression::checkCallStack(", "expression.cpp", null), - new StackFrame(74, "Expression::checkPrettyPrinting(", "expression.cpp", null), - new StackFrame(63, "Expression::checkSpecialValues(", "expression.cpp", null), - new StackFrame(53, "Expression::checkClassOnStackAndHeap(", "expression.cpp", null), - new StackFrame(40, "Expression::checkArrayAndPointers(", "expression.cpp", null), - new StackFrame(32, "Expression::checkPrimitiveTypes(", "expression.cpp", null), - new StackFrame(86, "Expression::CoreRun(", "expression.cpp", null), - new StackFrame(23, "Feature::Run(", "feature.cpp", null), - new StackFrame(45, "main", "main.cpp", null) - }; - } - else - { - return new[] { - new StackFrame(10, "accumulate(", "expression.cpp", null), - new StackFrame(12, "accumulate(", "expression.cpp", null), - new StackFrame(12, "accumulate(", "expression.cpp", null), - new StackFrame(19, "func(", "expression.cpp", null), - new StackFrame(81, "Expression::checkCallStack(", "expression.cpp", null), - new StackFrame(75, "Expression::checkPrettyPrinting(", "expression.cpp", null), - new StackFrame(63, "Expression::checkSpecialValues(", "expression.cpp", null), - new StackFrame(54, "Expression::checkClassOnStackAndHeap(", "expression.cpp", null), - new StackFrame(40, "Expression::checkArrayAndPointers(", "expression.cpp", null), - new StackFrame(32, "Expression::checkPrimitiveTypes(", "expression.cpp", null), - new StackFrame(86, "Expression::CoreRun(", "expression.cpp", null), - new StackFrame(23, "Feature::Run(", "feature.cpp", null), - new StackFrame(46, "main", "main.cpp", null) - }; - } + return new[] { + new StackFrame(10, "accumulate(", "expression.cpp", null), + new StackFrame(12, "accumulate(", "expression.cpp", null), + new StackFrame(12, "accumulate(", "expression.cpp", null), + new StackFrame(19, "func(", "expression.cpp", null), + new StackFrame(80, "Expression::checkCallStack(", "expression.cpp", null), + new StackFrame(74, "Expression::checkPrettyPrinting(", "expression.cpp", null), + new StackFrame(62, "Expression::checkSpecialValues(", "expression.cpp", null), + new StackFrame(53, "Expression::checkClassOnStackAndHeap(", "expression.cpp", null), + new StackFrame(39, "Expression::checkArrayAndPointers(", "expression.cpp", null), + new StackFrame(31, "Expression::checkPrimitiveTypes(", "expression.cpp", null), + new StackFrame(85, "Expression::CoreRun(", "expression.cpp", null), + new StackFrame(22, "Feature::Run(", "feature.cpp", null), + new StackFrame(45, "main", "main.cpp", null) + }; } else {