调试返回值
我记得当我在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”来获取最后一个函数的返回值。
请参阅: 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; } }