如何在 Visual Studio 中同时观察递归函数变量

How to watch recursive function variables simultaneously in Visual Studio

在 Visual Studio 中调试时,您可以在 Locals window 中看到当前函数 运行 的局部变量。您还可以通过右键单击它们并单击添加监视来监视特定变量。

但是,当观察递归函数中的变量时,它只会显示递归进行到的函数调用的最新迭代的该变量的值。

有没有办法查看递归函数调用的每次迭代的变量内容并将它们一起显示在 Local/Watch windows?

这在 Visual Studio 中是不可能的。您可以考虑其他方式,例如 logging/outputting(Debug.WriteLine, Trace.WriteLine…) the value of variables in the function, or installing some extensions 以帮助记录变量值。

我进一步研究了这个问题并在 Visual Studio 中找到了 Parellel Watch 功能。

在调试模式下,一旦遇到断点,您可以单击

Debug > Windows > Parallel Watch

跟踪为监视函数打开的多个线程,允许您select检查每个线程的局部变量。

https://docs.microsoft.com/en-us/visualstudio/debugger/how-to-use-the-parallel-watch-window?view=vs-2019