取以下函数:
DataTable go() {
return someTableAdapter.getSomeData();
}
当我在这个函数中设置断点时,是否有可能检查返回值?Go()直接耦合到.aspx页面中的数据网格。
检查返回数据表的唯一方法是使用临时变量。然而,这有点不方便。没有别的办法了吗?
取以下函数:
DataTable go() {
return someTableAdapter.getSomeData();
}
当我在这个函数中设置断点时,是否有可能检查返回值?Go()直接耦合到.aspx页面中的数据网格。
检查返回数据表的唯一方法是使用临时变量。然而,这有点不方便。没有别的办法了吗?
当前回答
据我所知没有。请注意,如果你添加了一个变量,它将被编译器在发布版本中删除…
更新: 这个功能已经被添加到VS2013中。 您可以在自动窗口中看到返回值,或者在监视/立即窗口中使用$ReturnValue。
该值只能在函数返回后直接看到,因此访问它的最简单方法是在函数调用上设置断点,然后跳过(F10)调用。
VS2015更新:boo!不幸的是,它似乎不在VS2015 (devenv v14) VS2017更新:它回来了。(devenv v15)
其他回答
前。net时代的老把戏:打开寄存器窗口并查看EAX寄存器的值。它包含最后调用的函数的返回值。
您可以尝试选择“someTableAdapter.getSomeData();”,右键单击它,然后选择快速观察。
据我所知没有。请注意,如果你添加了一个变量,它将被编译器在发布版本中删除…
更新: 这个功能已经被添加到VS2013中。 您可以在自动窗口中看到返回值,或者在监视/立即窗口中使用$ReturnValue。
该值只能在函数返回后直接看到,因此访问它的最简单方法是在函数调用上设置断点,然后跳过(F10)调用。
VS2015更新:boo!不幸的是,它似乎不在VS2015 (devenv v14) VS2017更新:它回来了。(devenv v15)
我认为您可以通过查看寄存器窗口(调试/ Windows /寄存器)中的RAX寄存器来确定这一点。退出函数(SHIFT + F11)后,检查RAX寄存器。我不知道事实,但你可以检查一个寄存器(在。net时代之前)并看到那里的返回值。它甚至可能是RAX和RBX的组合,等等。
我同意这是一件非常有用的事情:不仅可以在退出方法之前看到它的返回值,而且还可以看到我刚刚跳过的方法的返回值。我把它作为Visual Studio商业扩展“OzCode”的一部分来实现。
有了它,你可以直接在代码编辑器中查看方法的返回值,就像一种hud显示:
要了解更多信息,请观看这个视频。