2008-11-03 52 views
0

我想找到一種方法來自動化一些異常記錄代碼,以添加到已有的堆棧信息。反映本地變量

是否有任何方式使用反射來檢索堆棧上的所有變量(本地和參數)的值 - 我真誠地懷疑變量的名稱是可用的,但在很多情況下,它是有用的,看到值。

回答

2

不是。對於這個級別的挖掘,你可能需要像WinDbg這樣的東西。

如果具體變量的興趣,你可以將其添加到例外自己(不過即使是這樣介紹有重複鍵,重入等問題):

string dir = ...todo... 
    try 
    { 
     // some code 
    } 
    catch (Exception ex) 
    { 
     ex.Data.Add("dir", dir); 
     throw; 
    } 
0

你可以看看約翰羅賓斯的SUPERASSERT(SUPERASSERT Goes .Net),他的書提供了一種很好的演練方式來做你以後的事情(再加上一個更多)。