перехватывать метод строка за строкой - PullRequest
2 голосов
/ 08 сентября 2011

в c #, есть ли практический способ перехватить метод строку за строкой во время выполнения?

конкретным интересующим приложением будет динамическое ведение журнала:

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

вВ воображаемом мире перехватчик также предоставил бы параметры для легкой идентификации и оценки специфики последней выполненной строки кода.

, но, учитывая, что это вообще невозможно, есть ли грубый прокси для такогоинструмент?

благодарен как всегда.

1 Ответ

2 голосов
/ 08 сентября 2011

Я верю, что единственное, что близко к тому, что вы хотите, это ELMAH. Вы можете изменить ELMAH, чтобы делать вещи - так что я думаю, вы могли бы использовать его в качестве отправной точки. Однако, единственный способ получить функциональность построчного типа - написать собственный отладчик - вставлять в int 13 каждую строку, как определено в информации об отладке (упомянутые вами pdb-файлы), - это много Работа.

С ELMAH вы можете увидеть многое о состоянии системы, и, что наиболее важно, трассировку стека.

...