调试返回值

我记得当我在Visual Studio 6.0中调试 C ++代码时,我可以看到方法的返回值 。 现在,我在Visual Studio 2010中缺少C#的function。
我在哪里可以看到返回值,或者有没有显示它的原因?

Edit1:一个例子:

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

当我从返回到下一行的行开始步骤(调试器)时,我希望在调试变量窗口中看到全名。

这是在Visual Studio 2013中添加的:

返回值显示在“Autos Windows”(Debug-> Windows-> Autos)中,您还可以在Watch和/或Immediate窗口中使用伪变量“$ ReturnValue”来获取最后一个函数的返回值。

http://blogs.msdn.com/b/visualstudioalm/archive/2013/06/27/seeing-function-return-values-in-the-debugger-in-visual-studio-2013.aspx

请参阅: https ://connect.microsoft.com/VisualStudio/feedback/details/555859/see-return-value-in-managed-code(您可以对其进行upvote)

还有一个人为VS开发了一个插件来支持它。

UPD。 试过那个插件。 现在看起来很棒。

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

 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中调试时返回之前找到返回值

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

在此处输入图像描述

 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; } }