Отражение локальных переменных - PullRequest
0 голосов
/ 03 ноября 2008

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

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

Ответы [ 2 ]

2 голосов
/ 03 ноября 2008

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

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

    string dir = ...todo...
    try
    {
        // some code
    }
    catch (Exception ex)
    {
        ex.Data.Add("dir", dir);
        throw;
    }
0 голосов
/ 27 августа 2009

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...