监视窗口中的$ReturnValue在VS2015中不起作用

本文关键字:VS2015 ReturnValue 不起作用 窗口 监视 | 更新日期: 2023-09-27 18:30:54

在VS2013中,我们可以通过检查名为$ReturnValue的监视窗口条目来查看方法的返回值。这似乎在VS2015中不起作用。

例如,我制作了一个新的控制台应用程序,其中包含以下代码:

using System;
namespace ReturnInspector
{
    public class Program
    {
        public static void Main(string[] args)
        {
            Console.WriteLine("Number: {0}", Method1());
        }
        public static int Method1()
        {
            return Method2(1000);          //A
        }                                  //B
        private static int Method2(int i)
        {
            return i + 42;
        }
    }
}

如果我在第 //A 行上放置一个断点,那么一旦断点中断,F10 将单步执行到第 //B 行,"监视"窗口中的$ReturnValue项在 VS2013 中显示"1042",但在 VS2015 中它显示以下内容:

error CS0103: The name '$ReturnValue' does not exist in the current context

请注意,"自动"和"局部变量"窗口正确显示:

ReturnInspector.Program.Method2 returned    1042

有谁知道VS2015中是否删除了监视窗口功能中的$ReturnValue

监视窗口中的$ReturnValue在VS2015中不起作用

确保在"

工具">>"选项">>"调试">>"使用旧版 C# 和 VB 表达式计算器"选项处于选中状态。

从 MSDN:

必须打开旧版表达式计算器才能识别$ReturnValue(工具/选项/调试/使用旧版 C# 和 VB 表达式计算器)。否则,您可以使用 $ReturnValue 1。

在VS2019社区中,它适用于$ReturnValue 1