Необработанное исключение, которое заставило приложение отказывать с “EventType clr20r3, P1 w3wp.exe” в журнале, но никаких деталях там

На рабочем сервере я вижу это событие от Средства просмотра системного события когда.NET ASP сбои приложения:

EventType clr20r3, P1 w3wp.exe, P2 6.0.3790.3959, P3 45d691cc,
P4 app_web_default.aspx.cdcab7d2, P5 0.0.0.0, P6 4b2e4bf0, P7 4, P8 4, P9
system.dividebyzeroexception, P10 NIL.*

Это принадлежит категории ".NET Runtime 2.0 Error Reporting".

Но я не могу найти событие, которое принадлежит категории "ASP.NET 2.0.50727.0", которая может дать мне это исключение подробное представление как это:

An unhandled exception occurred and the process was terminated.  
Application ID: /LM/W3SVC/505951206/Root  
Process ID: 1112  
Exception: System.DivideByZeroException  
Message: Attempted to divide by zero.  
StackTrace:    
   at _Default.Foo(Object state)  
   at System.Threading.ExecutionContext.runTryCode(Object userData)  
   at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)  
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)  
   at System.Threading._ThreadPoolWaitCallback.PerformWaitCallbackInternal(_ThreadPoolWaitCallback tpWaitCallBack)  
   at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback(Object state)  
For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp

У меня есть второе событие на моей dev машине, это, потому что Visual Studio установлена там? Если так, как я могу отключить это так, я могу эмулировать продуктивную среду?

12
задан Helgi 9 December 2011 в 01:31
поделиться

1 ответ

Иногда вы можете увидеть эту страшную ошибку в журнале событий Windows:

EventType clr20r3, P1 w3wp.exe, P2 6.0.3790.3959, P3 45d6968e, P4 dp.ui, P5 3.9.7.55, P6 4b49a307, P7 62e , P8 0, P9 system.stackoverflowexception, P10 NIL.

Как видите, он нечеткий, в нем нет трассировки стека, и вы не имеете представления о P1,…, P10 и каких-либо числах. Вы знаете, что в этом самое худшее; единственное, что заставляет не спать и заставляет желать, если бы этого не было в журнале, да! Сообщение «dp.ui».

Причина

Хорошо, помимо всех шуток и пожеланий, когда происходит бесконечный цикл или вызов метода, возникает исключение «system.stackoverflowexception», поэтому вы должны проверить все источники на предмет любого вызова рекурсивного метода, и вы можете запустить Visual Studi для отладки. Но это невозможно и не всегда возможно, даже если ваше приложение не корпоративное. Значит, вам нужно поискать в Google P1, ..., P10. Я сделал это вместо вас, так что просто расслабьтесь и расслабьтесь!

P1 : имя приложения, в котором произошла эта ошибка
P2 : версия приложения
P3 : отметка времени приложения
P4 : имя сборки / модуля
P5 : Версия сборки / модуля
P6 : Отметка времени сборки / модуля
P7 : MethodDef
P8 : Смещение IL
P9 : исключение имя (зашифровано, потому что имя слишком длинное)

Разрешение

Совершенно очевидно, что нам нужно найти P7, P8. В этом нам поможет IL Disassembler, инструмент, включенный в Visual Studio.

  1. Запустите дизассемблер IL и откройте вашу библиотеку.
  2. Меню: вид -> MetaInfo -> Показать !, обратите особое внимание на контрольный список меню, особенно на флажки Raw.
  3. Появится диалоговое окно, найдите комбинацию 06000 с 62e , и вы увидите MethodName класса, а при поиске вы увидите первый TypeDef, который объявляет класс. . И это все!

При переходе в приложение вы можете увидеть рекурсивный вызов, и вам следует проверить условие, которое приводит к выходу из этого цикла!

В Windows и служебном приложении этому исключению может понравиться следующее, и вам следует проверить «sib.infobase.workflow.services.exe» с помощью «IL Disassembler»:

EventType clr20r3, P1 sib.infobase.workflow.services, P2 1.0.2740.20114, P3 468a74f5, P4 sbpscs, P5 1.0.2740.20087, P6 468a74be, P7 1c, P8 120, P9 zxkyzcs5wacordmkttdkr1xouosi00fr, P10 NIL.

Если вы путешествуете по сети, вы можете увидеть решение, подобное тому, которое подготовила Microsoft: http://support.microsoft.com/kb/911816 , но, возможно, это не так. t работают правильно для этого исключения.

Дополнительная информация

Метод поиска параметров корзины для сообщений об ошибках

36
ответ дан 2 December 2019 в 04:08
поделиться