首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在VS调试器中获取方法的返回值

在VS调试器中获取方法的返回值
EN

Stack Overflow用户
提问于 2009-11-10 06:11:10
回答 8查看 2.3K关注 0票数 19

是否可以在Visual Studio调试器中获取方法的返回值,即使该值没有分配给局部变量?例如,我正在调试以下代码:

代码语言:javascript
复制
public string Foo(int valueIn)
{
    if (valueIn > 100)
        return Proxy.Bar(valueIn);
    else
        return "Not enough";
}

因为我没有在Foo中设置任何局部变量,并且假设我没有在调用Foo的任何东西中设置断点,如果我在Foo中有一个断点(或者其他方式),有没有办法看到返回值是什么?我对Autos或Intermediate窗口没有太多的经验,所以我不确定这些窗口是否是一个有效的选项。

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2009-11-10 06:22:41

您可以在Foo中设置断点,打开即时窗口并运行以下命令:

代码语言:javascript
复制
? Foo(valueIn)

这将在“即时”窗口中打印返回值。

也可以复制表达式并将其粘贴到“监视”窗口中,但只有在我确定调用没有副作用时才会这样做(否则会得到令人困惑的结果)。

票数 6
EN

Stack Overflow用户

发布于 2009-11-10 06:22:14

您可以随时切换到“反汇编程序”视图并逐步执行各个指令。在执行'ret‘指令之前,返回值将在@eax (或@rax)中。

票数 5
EN

Stack Overflow用户

发布于 2017-08-19 02:32:24

类似问题的答案是:从Visual Studio 2013开始,您可以将变量$ReturnValue添加到监视列表中。它包含函数的实际返回值。

致谢于Jesper Jensen。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1704268

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档