我想得到一个关于我的堆栈跟踪的详细日志.我可以获得一个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);
}
Run Code Online (Sandbox Code Playgroud)
但是如何在方法中获取局部变量信息呢?
有人会对我有所了解吗?
非常感谢.
您可能想查看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);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1641 次 |
| 最近记录: |