如何查看未与调试器一起存储的方法返回值
本文关键字:存储 方法 返回值 一起 调试器 何查看 | 更新日期: 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点,了解如何在调试器中查看函数返回值