Мне нужно найти причину для события с кодом 2262, обнаружена тупиковая ситуация в нашем приложении ASP.NET (64-разрядная версия). На нашем сервере разработки это происходит 1-3 раза в день.
Я создал мини-дамп с полной памятью, отключив пул приложений, как описано здесь: http://support.microsoft.com/kb/828222
Я открыл дамп с помощью windbg и попытался найти управляемый поток: ~ * e! Clrstack
Я получил для всех потоков: Невозможно пройти управляемый стек. Текущий поток, вероятно, не является управляемым потоком. Вы можете запустить! Thread, чтобы получить список управляемых потоков в процессе.
Тот же результат я получаю, когда беру дамп из командной строки (выполняя ту же команду, для которой настроено сиротство).
Стоит ли брать или просматривать дамп по-другому?
Чтобы заставить windbg работать, я выполняю следующие команды: .load c: \ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727 \ mscorwks.dll .load c: \ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727 \ mscordacwks.dll. загрузить c: \ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727 \ sos.dll .symfix "c: \ Program Files \ Debugging Tools for Windows (x64) \ cache" .cordll -ve -u -l
И у меня в папке dbg tools есть следующая dll: mscordacwks_AMD64_X64_2.0.50727.3603.dll (взято из каталога Framework64).
Я попытался изучить все наши журналы и не нашел никаких коррелированных данных с отметками времени сбоя тупиковой ситуации. Я просмотрел и подчеркнул код, введенный в svn, в день первого тупика и за несколько дней до этого - во время стресса тупика не произошло.
Я ставлю на стек clr, спасибо за любую помощь, Ян