4

有谁知道如何在调用函数中观察变量。例如:C#:

void fn a()
{
int myVar=9;
b();
}

b()
{
Throw new Exception();
}

当我在函数 b 中遇到异常时,如何查看 myVar?我在一个循环中有一个非常大的递归函数,并在一次迭代中得到一个异常。我不知道它属于哪个迭代$%^&*(。我所做的就是将我的 intersted 变量提升到全局,这样我就可以在任何地方观看它们。但是,我认为这不是一个仅用于调试的好主意.

谢谢大家!

4

2 回答 2

8

您需要使用调用堆栈窗口

只需选择下一个级别的堆栈级别,变量现在应该在您的Locals Window中。

同样停止第一次机会例外也可能有所帮助。

于 2010-03-31T16:45:38.350 回答
1

您可以使用堆栈资源管理器移动到堆栈帧(在调试和暂停时)并观察值。堆栈资源管理器显示导致当前调用的所有调用(您已暂停的调用),如果您双击其中一个,它将跳转到它调用“在它下面”的方法的位置(实际上在资源管理器中它上面.)

一些调用,如一些框架代码和本地调用不会显示在资源管理器中,但无论如何它们通常很少有人感兴趣。

编辑:显然它被称为调用堆栈窗口,每天都使用它并且不知道它叫什么 - 哈哈。

于 2010-03-31T16:45:25.557 回答