取以下函数:

DataTable go() {
    return someTableAdapter.getSomeData();
}

当我在这个函数中设置断点时,是否有可能检查返回值?Go()直接耦合到.aspx页面中的数据网格。

检查返回数据表的唯一方法是使用临时变量。然而,这有点不方便。没有别的办法了吗?


当前回答

将返回表达式拖放到观察窗口中。

例如,在语句中

return someTableAdapter.getSomeData();

拖放

someTableAdapter.getSomeData()

进入一个观察窗口,你会看到数值。

你可以对任何表达式这样做。

其他回答

进入“工具→选项”、“IntelliTrace”菜单,修改设置,收集事件和呼叫信息。

您可以返回到前面的调用事件(Ctrl + Shift + F11),并在autos窗口中看到方法调用返回的临时值作为方法名的子值。

这并没有显示您所在方法的返回值。它只显示当前方法中调用的最后一个方法的返回值。

所以,对于

DataTable go(){return someTableAdapter.getSomeData();}

因为它会显示someTableAdapter.getSomeData()的返回值。

但不是为了:

int go(){return 100 * 99;}

如果中间窗口没有设置标志或其他变量,而只是返回一些东西,您也可以要求在中间窗口中计算值。

使用Shift-F11走出go()方法,然后在“Autos”调试窗口中,它将显示方法调用的返回值,该方法调用刚刚弹出堆栈(在这种情况下,go()方法是你想要的)。这是Visual Studio 2005中的行为;我还没有使用Visual Studio 2008,所以我不知道这个行为是否在那个版本相同。

您可以尝试选择“someTableAdapter.getSomeData();”,右键单击它,然后选择快速观察。

将返回表达式拖放到观察窗口中。

例如,在语句中

return someTableAdapter.getSomeData();

拖放

someTableAdapter.getSomeData()

进入一个观察窗口,你会看到数值。

你可以对任何表达式这样做。