gpt4 book ai didi

c# - 我可以通过 C# 中的堆栈跟踪获取方法局部变量吗?

转载 作者:太空狗 更新时间:2023-10-29 20:35:27 26 4
gpt4 key购买 nike

我想获取有关我的堆栈跟踪的详细日志。我可以获得 StackFrame,然后是方法,然后是该方法的所有参数。正如下面的代码:

            StackTrace st = new StackTrace();
StackFrame[] sfs = st.GetFrames();
foreach (StackFrame sf in sfs)
{
MethodBase method = sf.GetMethod();
ParameterInfo[] pis = method.GetParameters();
foreach (ParameterInfo pi in pis)
{
....
}
Console.WriteLine(method.Name);
}

但是我怎样才能在方法中获取局部变量信息呢?

有人能给我一些启发吗?

非常感谢。

最佳答案

您可能想查看 LocalVariableInfo .

MSDN 示例 //获取方法体信息。

MethodInfo mi = typeof(Example).GetMethod("MethodBodyExample");
MethodBody mb = mi.GetMethodBody();
Console.WriteLine("\r\nMethod: {0}", mi);

// Display the general information included in the
// MethodBody object.
Console.WriteLine(" Local variables are initialized: {0}",
mb.InitLocals);

foreach (LocalVariableInfo lvi in mb.LocalVariables)
{
Console.WriteLine("Local variable: {0}", lvi);
}

关于c# - 我可以通过 C# 中的堆栈跟踪获取方法局部变量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2696691/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com