我想找到一種方法來自動化一些異常記錄代碼,以添加到已有的堆棧信息。反映本地變量
是否有任何方式使用反射來檢索堆棧上的所有變量(本地和參數)的值 - 我真誠地懷疑變量的名稱是可用的,但在很多情況下,它是有用的,看到值。
我想找到一種方法來自動化一些異常記錄代碼,以添加到已有的堆棧信息。反映本地變量
是否有任何方式使用反射來檢索堆棧上的所有變量(本地和參數)的值 - 我真誠地懷疑變量的名稱是可用的,但在很多情況下,它是有用的,看到值。
不是。對於這個級別的挖掘,你可能需要像WinDbg這樣的東西。
如果具體變量的興趣,你可以將其添加到例外自己(不過即使是這樣介紹有重複鍵,重入等問題):
string dir = ...todo...
try
{
// some code
}
catch (Exception ex)
{
ex.Data.Add("dir", dir);
throw;
}
你可以看看約翰羅賓斯的SUPERASSERT(SUPERASSERT Goes .Net),他的書提供了一種很好的演練方式來做你以後的事情(再加上一個更多)。