C# 调试返回值

C# 调试返回值,c#,visual-studio,visual-studio-2010,debugging,C#,Visual Studio,Visual Studio 2010,Debugging,我记得在Visual Studio 6.0中调试C++代码时,我可以看到方法的返回值。 现在,我在VisualStudio2010中的C#中缺少该功能。 我在哪里可以看到返回值,或者有没有理由不显示它 编辑1: 例如: string GetFullName() { return GetFirstName() + " " + GetLastName(); } 当我从以return开头的行开始单步执行(调试器)到下一行时,我希望在调试变量窗口中看到全名。请参见:(您可以向上投票) 还有一个家伙

我记得在Visual Studio 6.0中调试C++代码时,我可以看到方法的返回值。 现在,我在VisualStudio2010中的C#中缺少该功能。
我在哪里可以看到返回值,或者有没有理由不显示它

编辑1: 例如:

string GetFullName()
{
  return GetFirstName() + " " + GetLastName();
}
当我从以return开头的行开始单步执行(调试器)到下一行时,我希望在调试变量窗口中看到全名。

请参见:(您可以向上投票)

还有一个家伙的评论,他为VS开发了一个插件来支持这一点


Upd。尝试了那个插件。现在看起来不错。

您看不到返回值。请参阅类似的相关问题

您可以将结果存储到字符串变量中,以便它将在调试窗口中列出

class Program
    {
        static void Main(string[] args)
        {
            Program p = new Program();
            Console.WriteLine(p.GetFullName());
            Console.ReadLine();   
        }

        string GetFullName()
        {
            string result =GetFirstName() + " " + GetLastName();
            return result;
        }

        string GetFirstName()
        {
            string firstname = "vishwanath";
            return firstname;
        }

        string GetLastName()
        {
            string lastname = "Dalvi";
            return lastname;
        }
    }


可以使用该方法在return语句的行上设置断点。然后右键单击断点并选择“命中时…”。在这里,您可以选择显示消息或运行宏。为此,我们将打印一条消息,该消息将显示在输出窗口中。例如,如果您有以下代码:

public double ReturnValue()
{
    var x = 3;
    var y = 4;
    //x and y can of course be non-constant vars too
    return Calculate(x, y);
}

public static double Calculate(int x, int y)
{
    return x * x + y * y;
}
如果在“return Calculate(x,y);”行上设置断点,请右键单击该断点并选择“When Hit…”并选择此作为消息:

值为:{Calculate(x,y)}

在这种情况下,输出窗口将显示:

数值为:25.0

希望这有帮助

更新:

这也适用于您的示例中的名称、方法:

public string GetFirst()
{
    return "Bill";
}

public string GetLast()
{
    return "Gates";
}

public string GetFull()
{
    return GetFirst() + " " + GetLast();
}
将断点放在GetFull()方法中的return语句上,并执行与前面相同的操作。消息正文现在如下所示:

全名为:{GetFirst()+“”+GetLast()}

输出窗口将显示:

全名是:“比尔·盖茨”


这是在Visual Studio 2013中添加的:

返回值将显示在“自动窗口”(调试->窗口->自动)中,您还可以在监视和/或即时窗口中使用伪变量“$ReturnValue”获取最后一个函数的返回值


调试代码时,在计算返回值时,只需执行以下操作之一:

1-在即时窗口中键入$ReturnValue

2-手表窗口中的手表$ReturnValue


您可以在“监视”窗口中调用该方法,并在那里查看其返回值。这就是你的意思吗?@ C++中的SHAO号我可以跳出一个方法,返回值自动地在调试变量窗口中列出。在这种情况下,我担心它无法实现。附加变量只是经常调试的方法的一个选项。我刚刚在本页右侧的相关列表中找到另一个相关问题:。这样看来,输入问题时的搜索不如相关列表好。我猜提问搜索不关心标签字段。谢谢。这个解决方案是否比在监视窗口中编写调用更好?我想进入“在监视中调用”窗口会更快。监视的问题是您必须设置断点,并且在调试时选择方法并选择“添加监视”。不能右键单击方法调用并选择“添加监视”,因为这会导致监视值出错。我的解决方案的“设置”需要更长的时间,但在调试时,您没有更多的顾虑。我刚才给出了一个解决方案,可以根据您的要求立即查看方法调用的返回值…:)非常感谢。我将尝试这个插件。我尝试了BugAid插件,它可以工作。要使用返回视图功能,需要将其设置为完全模式。这是一个测试版,该版本仅对开源项目和MVP免费。我刚刚在BigAid主页()上看到,尽管只是测试版,但Commercial许可证不是免费的。所以我不得不卸载它,因为我找不到任何关于商业用户试用版的提示。你已经从官方网站下载并安装了该应用程序。我不认为你做了任何违法的事情,除非你下载了一些非官方的版本。@brgerner嗨,伙计们,我是BugAid的共同创建者。BugAid有60天的免费试用期,您可以将其免费用于任何目的(商业或其他)。我希望你会发现它有用!很抱歉造成混淆-我们将在网站上尽量澄清,这是一个完全免费的60天试用期。您介意在回答中描述解决方案吗?这将避免导航出SO,并在链接终止时提供静态副本。您可以使用
$exception
变量对异常执行相同操作。比如它们在命名和大小写上的一致性。干得好。