Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
你能在C#中得到堆栈上的变量列表吗?_C#_Variables_Stack_Diagnostics - Fatal编程技术网

你能在C#中得到堆栈上的变量列表吗?

你能在C#中得到堆栈上的变量列表吗?,c#,variables,stack,diagnostics,C#,Variables,Stack,Diagnostics,总之,只是想知道在.NET/C中是否有可能获得堆栈上的变量列表及其值?我正在为我的应用程序创建一个异常处理程序,除了标准堆栈跟踪之外,我还希望看到堆栈上任何变量的名称和值。知道这是否可以做到吗?是的,StackFrame类可以帮助您做到这一点 类似这样的东西 var currentStackFrame = new StackFrame(1); var props = currentStackFrame.GetMethod().GetParameters(); 这将只获取参数的名称,而不是值

总之,只是想知道在.NET/C中是否有可能获得堆栈上的变量列表及其值?我正在为我的应用程序创建一个异常处理程序,除了标准堆栈跟踪之外,我还希望看到堆栈上任何变量的名称和值。知道这是否可以做到吗?

是的,StackFrame类可以帮助您做到这一点

类似这样的东西

var currentStackFrame = new StackFrame(1);
var props = currentStackFrame.GetMethod().GetParameters(); 

这将只获取参数的名称,而不是值,并且不会告诉您有关堆栈上其他变量的任何信息。@Jimmy我发现如果您只是链接到一篇文章,堆栈溢出将变为:1,就像网络上的其他论坛一样,每个人都说RTFM和两个RTFM其实对任何人都没有帮助,因为大多数时候人们会来这里索要代码,因为他们很难理解它。是的,根据earwicker所说的,我认为这不允许你获得任何价值(尽管可以通过循环StackTrace对象上的每个帧来获取堆栈上的其他变量).关于如何获取值有什么想法吗?@Earwicker/Alphamacaroon:你能不能使用反射来扩展这种感觉,并获取堆栈中每个变量的变量值?你非常需要一个对象实例来使用反射获取任何值。不确定我们从StackFrame或StackTrace me哪里获取对象实例法德。