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'は、引数値ではなく宣言されたパラメータを返します。 –
@ThomasLevesque:Ok、この特定のアプライアンスは機能しない可能性があります。それは別のものがありますか? – user420667
デバッガだけが必要な情報にショットを持ち、.pdbファイルから利用できます。しかし、そこから急速にダウンすると、プログラムは自分自身をデバッグすることができず、情報はデバッグビルドに対してのみ正確です。メソッド呼び出しを最適化することは、非常に重要なジッタオプティマイザターゲットです。あなたはこの仕事をすることはできません。 –