取以下函数:

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

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

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


当前回答

在VS2019中,只需打开调试->Windows->汽车窗口。在那里,你看到concat返回值如下所示:

其他回答

我知道的唯一方法是在返回行上放置一个断点,然后调用Quick Watch窗口并输入返回的表达式:

someTableAdapter.getSomeData();

但这只有在调用不改变任何对象的状态时才有效(因为当您恢复执行时,将会对同一方法进行第二次调用)。

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

我认为您可以通过查看寄存器窗口(调试/ Windows /寄存器)中的RAX寄存器来确定这一点。退出函数(SHIFT + F11)后,检查RAX寄存器。我不知道事实,但你可以检查一个寄存器(在。net时代之前)并看到那里的返回值。它甚至可能是RAX和RBX的组合,等等。

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

例如,在语句中

return someTableAdapter.getSomeData();

拖放

someTableAdapter.getSomeData()

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

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

根据客户反馈网站,这可以在Visual Studio 2013中使用CLR 4.5.1完成。它在以前的c#版本中不可用。

(Visual Studio 2008和更早的版本支持VB.NET。C/ c++开发人员一直可以使用它。)