2

这是这个问题的轻微变化。如果我有一个执行返回值的操作的函数,但我没有在变量中捕获该值,有没有什么办法可以在调试器单步执行时获取该值,而无需在即时窗口中第二次运行该函数?

一个实际的例子

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

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

4

2 回答 2

4

就在这里!

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

这将产生只执行一次代码的效果,并让您查看结果。

有关详细信息,请参阅使用命令行窗口的基础知识

于 2013-06-01T02:18:16.880 回答
2

在完整模式下使用BugAid,您将能够通过使用其语句可视化功能查看 ExecuteNonQuery 在您跳过它后立即返回的值。

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

例如:

例子

全面披露:我是 BugAid 的共同创造者。

于 2013-06-01T09:15:04.307 回答