У нас есть веб-приложение, размещенное на нескольких серверах наших клиентов. В последнее время только на одном из них пул приложений обновляется каждые 15 минут. Я проверил программу просмотра событий, и в ней нет журнала уровня «Предупреждение», который бы содержал некоторую помощь по любым случайным исключениям. Я нашел только несколько журналов уровня «Информация» с источником «Отчет об ошибках Windows», который содержит подобное содержимое:
Fault bucket , type 0
Event Name: CLR20r3
Response: Not available
Cab Id: 0
Problem signature:
P1: w3wp.exe
P2: 7.5.7601.17514
P3: 4ce7a5f8
P4: mscorlib
P5: 4.0.30319.17929
P6: 4ffa561c
P7: 1098
P8: 0
P9: System.StackOverflowException
P10:
Attached files:
These files may be available here:
C:\ProgramData\Microsoft\Windows\WER\ReportQueue\AppCrash_w3wp.exe_a7ffe533c17adc1b839d5aa19f1af2e61b1d2_0704a515
Analysis symbol:
Rechecking for solution: 0
Report Id: 7fc73fce-5389-11e5-9721-7824af3d6615
Report Status: 4
и это:
Fault bucket 3263327202, type 1
Event Name: APPCRASH
Response: Not available
Cab Id: 0
Problem signature:
P1: w3wp.exe
P2: 7.5.7601.17514
P3: 4ce7a5f8
P4: clr.dll
P5: 4.0.30319.17929
P6: 4ffa5753
P7: c00000fd
P8: 000010b9
P9:
P10:
Attached files:
C:\Windows\Temp\WERC4A6.tmp.appcompat.txt
C:\Windows\Temp\WERC523.tmp.WERInternalMetadata.xml
C:\Windows\Temp\WERC524.tmp.hdmp
C:\Windows\Temp\WERED7D.tmp.mdmp
These files may be available here:
C:\ProgramData\Microsoft\Windows\WER\ReportArchive\AppCrash_w3wp.exe_868a5e613d491401176645f115078f3faa98e9_03a912c5
Analysis symbol:
Rechecking for solution: 0
Report Id: 4c379387-5388-11e5-9721-7824af3d6615
Report Status: 0
а также некоторый журнал уровня «Ошибка» с источником «Ошибка приложения» с таким содержанием:
Faulting application name: w3wp.exe, version: 7.5.7601.17514, time stamp: 0x4ce7a5f8
Faulting module name: clr.dll, version: 4.0.30319.17929, time stamp: 0x4ffa5753
Exception code: 0xc00000fd
Fault offset: 0x00019fe9
Faulting process id: 0xcac
Faulting application start time: 0x01d0e79515891375
Faulting application path: C:\Windows\SysWOW64\inetsrv\w3wp.exe
Faulting module path: C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll
Report Id: dc73f522-5388-11e5-9721-7824af3d6615
Я пытался прочитать файлы в C: \ ProgramData \ Microsoft \ Windows \ WER \ ReportArchive \ AppCrash_w3wp.exe ....., но не смог понять проблему. Как я могу найти причину этой ошибки?
Вы можете видеть, что в нем упоминается System.StackOverflowException, что встречается довольно редко, так что это хорошая отправная точка для исследования. Вторая информация, которая у вас есть, это то, что это началось недавно.
Если у вас есть система отслеживания версий, попробуйте найти все обновления приложений в соответствующем временном диапазоне и поищите рекурсию любого вида (прямую, косвенную и т. Д.). StackOverflow обычно вызывается рекурсией в вашем коде, которая вышла из-под контроля.
Если код неочевиден (т.е. такую рекурсию нелегко найти, или в коде слишком много рекурсий, и вы не можете определить ту, которая вызывает проблему), вам следует попытаться поместить туда журналы. Размещайте записи журнала в различных местах вашего кода, чтобы вы могли распознать, когда определенные функции были введены и оставлены в потоке выполнения.
Поскольку каждые 15 минут у вас происходит сбой, вы сможете очень быстро отладить это с помощью журналов, потому что вы четко увидите проблему в журналах, как только поместите журналы в правильную (ошибочную) функцию.