Я столкнулся с особенно неприятной ошибкой, когда веб-сайт ASP.NET пытается вызвать метод службы WCF, который отправляет IIS в смертельную спираль ... что в конечном итоге приводит к пулу связанных приложений. Он никогда не попадет в наш код log4net, который выводит необработанные исключения.
Я наблюдал, как процессы w3wp.exe ускоряются и умирают, поэтому я решил, что при завершении работы я дам файл дампа, используя ProcDump из SysInternals , используя следующую команду:
procdump -e -t -ma <PID> aspnet.dmp
Это дает мне файл мини-дамп, который я могу открыть в VS2010, и он показывает, что информация о куче присутствует. Что интересно:
Итак, на этом этапе я пытаюсь установить путь к символу, который является папкой bin для этого конкретного веб-сайта. Я скопировал его с соответствующего сервера. Тем не менее, у меня все еще есть возможность отладки только с помощью Native Only, и когда я это делаю , он не может найти ни одного из соответствующих символов .
Вот мои настройки местоположения PDB:
Я не уверен, что это потому, что стек вызовов, похоже, останавливается где-то в Windows DLL ...? Вот экран окна стека вызовов.
В любом случае, мой окончательный вопрос - , следую ли я по соответствующему пути, чтобы найти источник этого исключения, и, если да, что мне не хватает ? Похоже, что это неуправляемый код, но я все равно хотел бы увидеть последний управляемый вызов, прежде чем все взорвется.
Также, если это полезно, веб-сервер - Win2003 x86, мой компьютер - Win7 x64.
Спасибо!