Процесс отладки внутренней кишки .NET - PullRequest
0 голосов
/ 04 февраля 2010

Меня интересует процесс людей, когда они пытаются узнать о внутренностях .NET. Позвольте мне привести конкретный пример, чтобы уточнить.

Недавно мы обнаружили ошибку с StateServer, который мы используем на нашем веб-сайте .NET. Иногда его начинают бросать ошибки, и наш сайт сходит с ума. StackTrace показывает, что это происходит, когда:

System.Web.SessionState.SessionStateModule.BeginAcquireState() 

вызывается. Есть хороший способ узнать больше о SessionStateModule, BeginAcquireState и что там происходит? MSDN, похоже, не имеет ничего об этом методе.

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

Ответы [ 5 ]

3 голосов
/ 04 февраля 2010

Я часто беру .NET Reflector и просто смотрю на рассматриваемый класс.

Если этого недостаточно, вы также можете получить исходный код .NET под (MS Reference License). Это позволяет напрямую отлаживать фреймворк.

2 голосов
/ 04 февраля 2010

Отражатель может быть полезным.

Кроме того, если вам интересно отслеживать трассировку и производительность стека при каждом вызове метода, вы можете использовать ANTS Profiler .

1 голос
/ 04 февраля 2010

Исходный код этого класса с комментариями доступен из справочного источника. Мне никогда не удавалось добиться надежной работы исходного сервера, я настоятельно рекомендую NetMassDownloader , чтобы получить его. Пол часа няни и все готово. Обязательно прочитайте заметки об использовании Джона Роббинса в его блоге .

1 голос
/ 04 февраля 2010

Конечно, есть. Откройте DLL в Reflector и посмотрите: -)

http://www.red -gate.com / продукты / отражатель /

вы можете точно видеть, что находится под капотом в каркасе.

1 голос
/ 04 февраля 2010

Если вы просто хотите посмотреть, что он делает, и вам не нужно на самом деле проходить через него в отладчике, тогда вам нужно Reflector .

Это будет смотреть на IL скомпилированной сборки и собирать его обратно как исходный код в C # (или VB.NET или различных других .NET языках, если вы действительно хотите ...).

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