2008-11-03 4 views
0

Я пытаюсь найти способ автоматизировать код регистрации исключения, чтобы добавить к уже имеющейся информации о стеке.Отражая локальные переменные

Есть ли способ использовать отражение для получения значений всех переменных в стеке (локали и параметры). Я искренне сомневаюсь, что имена переменных доступны, но во многих случаях было бы полезно увидеть значения ,

ответ

2

Не совсем. Для этого уровня копания вам, вероятно, понадобится что-то вроде WinDbg.

Если специфический переменная представляет интерес, вы можете добавить его в исключения самостоятельно (хотя и это вносит проблемы с повторяющимися ключами, повторное entrancy и т.д.):

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

Вы можете проверить «SUPERASSERT» Джона Роббинса (SUPERASSERT Goes .Net), его книга дает отличный поход по одному из способов сделать то, что вам нужно (плюс ВСЕГО БОЛЬШЕ).

Смежные вопросы