use*_*667 5 c# reflection parameters stack-trace stack-frame
使用时打印堆栈跟踪并不困难System.Diagnostics.我想知道是否有可能打印传递给堆栈跟踪上的每个方法的参数的值,如果不是,为什么不.
这是我的初步代码:
public static class CallStackTracker
{
public static void Print()
{
var st = new StackTrace();
for (int i = 0; i < st.FrameCount; i++)
{
var frame = st.GetFrame(i);
var mb = frame.GetMethod();
var parameters = mb.GetParameters();
foreach (var p in parameters)
{
// Stuff probably goes here, but is there another way?
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
提前致谢.
您不能这样做,至少不能使用System.Diagnostics. 该类StackFrame不提供访问参数值的方法(MethodBase.GetParameters提供有关声明的参数的信息,例如它们的名称和类型,但不提供实际参数的值)
我认为可以使用 CLR 调试 API 来完成此操作,但可能无法从 C# 中完成
| 归档时间: |
|
| 查看次数: |
1137 次 |
| 最近记录: |