System.Diagnostics
kullanılırken yığın izini yazdırmak çok zor değildir. Her yönteme iletilen parametrelerin VALUES'lerini yığın izlemeye kadar yazdırmanın mümkün olup olmadığını merak ediyorum ve eğer olmasın. peşinParametrelerin değerlerini yığın izlemeye göre yazdırma
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?
}
}
}
}
Teşekkür:
İşte benim ön kodudur.
gelen CLR ayıklama API'leri işe yaramaz: 'MethodInfo.GetParameters' ilan parametreleri, değil argüman değerleri ... –
@ThomasLevesque döndürür: Ok, bu nedenle bu özel appraoch çalışmayabilir. Başka olacak mı? – user420667
Sadece bir hata ayıklayıcının, .pdb dosyasında bulunan gerekli bilgilerde bir görüntüsü vardır. Ancak, oradan hızlı bir şekilde iner, bir program kendini hata ayıklayamaz ve bilgi sadece Hata Ayıklama yapısı için doğrudur. Yöntem çağrılarını optimize etmek çok önemli bir jitter optimizer hedefidir. Bu işi yapamazsın. –