是否可以检查未保存的函数的返回值?

时间:2013-06-01 02:18:17

标签: c# visual-studio debugging

这是this question的轻微变化。如果我有一个函数执行一个返回值的操作,但我没有在变量中捕获该值,那么我可以通过调试器逐步获取该值而不在紧接着的窗口中第二次运行该函数?

一个实际的例子

using (SqlConnection cnSqlConnect = OpenConnection(ConnectionString))
using (SqlCommand sqlCmd = new SqlCommand(command, cnSqlConnect))
{
    sqlCmd.ExecuteNonQuery();
}

有没有办法在不运行两次的情况下获得sqlCmd.ExecuteNonQuery()的值?

2 个答案:

答案 0 :(得分:4)

是的!

  1. 在执行之前打破函数。
  2. 从命令窗口运行您停在的代码行,前面加上?以查看结果。像这样:? sqlCmd.ExecuteNonQuery();
  3. 手动将显示下一行代码的黄色指针向下拖动到下一行,跳过在命令窗口中运行的代码。
  4. 这将只执行一次代码,让您查看结果。

    有关详细信息,请参阅Basics of using the Command Window

答案 1 :(得分:2)

在完整模式下使用BugAid,您可以通过使用Statement Visualization功能查看ExecuteNonQuery在您跳过它后立即返回的值。

BugAid可视化每个方法调用的值,即使该值未分配给变量也是如此。它在没有重新评估函数的情况下执行此操作(从不导致方法执行两次)。

例如:

Example

完全披露:我是BugAid的共同创建者。