Трябва да намеря причина за Event ID 2262, Deadlock Detected на нашето ASP.NET приложение (64 бита). Това се случва 1-3 пъти на ден на нашия сървър за разработка.
Създадох мини дъмп с пълна памет, като оставих набора от приложения, както е описано тук: http://support.microsoft.com/kb/828222
Отворих дъмпа с windbg и се опитах да намеря някаква управлявана нишка: ~*e !clrstack
Получих за всички нишки: Не мога да обходя управлявания стек. Текущата нишка вероятно не е управлявана нишка. Можете да стартирате !threads, за да получите списък с управлявани нишки в процеса
Същият резултат, който получавам, когато взема дъмп от командния ред (изпълнявам същата команда, за която е настроено осиротяването).
Трябва ли да взема или разглеждам dump по различен начин?
За да накарам 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 за Windows (x64)\cache" .cordll -ve -u -l
И имам следния dll в папката с инструменти на dbg: mscordacwks_AMD64_X64_2.0.50727.3603.dll (взет от директория Framework64).
Опитах се да проуча всичките ни регистрационни файлове и не открих корелирани данни с времеви клеймове за грешка при блокиране. Прегледах и подчертах кода, ангажиран в svn на датата на първото блокиране и няколко дни преди това - не се случи блокиране по време на стреса.
Залагам на clr stack, благодаря за всяка помощ, Jan