5
使用System.Diagnostics
打印堆棧跟蹤並不困難。我想知道是否可以將傳遞給每個方法的參數的VALUES打印到堆棧跟蹤上,如果不是的話。打印堆棧跟蹤參數的值
這裏是我的初步代碼:
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?
}
}
}
}
在此先感謝。
它不會工作:'MethodInfo.GetParameters'返回聲明的參數,而不是參數值... – 2012-04-11 22:04:02
@ThomasLevesque:好的,所以這個特定的appraoch可能無法正常工作。還有其他嗎? – user420667 2012-04-11 22:07:23
只有調試器纔有必要的信息,可從.pdb文件獲得。然而,從那裏快速下降,一個程序不能自行調試,並且這些信息僅對於調試構建而言是準確的。優化方法調用是一個非常重要的抖動優化器目標。你無法完成這項工作。 – 2012-04-11 23:25:44