На рабочем сервере я вижу это событие от Средства просмотра системного события когда.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 установлена там? Если так, как я могу отключить это так, я могу эмулировать продуктивную среду?
Иногда вы можете увидеть эту страшную ошибку в журнале событий 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.
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 работают правильно для этого исключения.