如何查看未与调试器一起存储的方法返回值

本文关键字:存储 方法 返回值 一起 调试器 何查看 | 更新日期: 2023-09-27 18:26:47

在Visual Studio 2013中,我如何找到一个未存储在任何地方的方法返回的值。

让我们假设这些方法在一个DLL中,我没有源代码,所以我不能在返回行设置断点。

示例用例1:

if(GetEnumResponse() == MyEnums.MyValue)
{
   // Do Stuff
}

示例用例2:

var Response = (MyResponse)GetResponse();

在示例1中,如果我希望条件为true,但它为false,我如何使用调试器来找出GetEnumResponse()的结果?

在示例2中,如果强制转换导致无效强制转换异常,我如何查看GetResponse()的结果?

如何查看未与调试器一起存储的方法返回值

最简单的解决方案是更改调用方法的方式,将返回值放入可以查询的局部变量中。

案例1:

var result = GetEnumResponse();
if (result == MyEnums.MyValue)
{
   // Do Stuff
}

案例2:

var result = GetResponse();
var Response = (MyResponse)result;

如果您愿意,您甚至可以将此代码留在生产中,因为它在功能上与您现在拥有的代码等效。

您可以在Visual Studio中使用即时(Debug->Windows->Immediate)。在这里,您可以计算表达式并查看结果。

函数的返回值显示在"自动"选项卡中,或者当函数返回时,您可以在即时窗口中使用$ResultValue

请参阅本博客文章中的第6点和第7点,了解如何在调试器中查看函数返回值