Как отладить ошибку .NET, зарегистрированную в программе просмотра событий - PullRequest
1 голос
/ 31 марта 2010

Привет, я обнаружил, что мое приложение вызывает некоторые ошибки, которые зарегистрированы в журнале событий .

В нем говорится:

NET Runtime 2.0 Error 

    EventType clr20r3, P1 *****.exe, P2 1.0.0.0, P3 4b2a572f, P4 system.web.services, P5 2.0.0.0, P6 4889df18, P7 bc, P8 65, P9 system.net.webexception, P10 NIL.

Как я могу узнать, что происходит? Я попробовал это приложение локально, и все отлично работает.

Ответы [ 4 ]

3 голосов
/ 31 марта 2010

Ваше приложение упало при необработанном исключении. Журнал Уотсона не будет достаточно хорош, чтобы найти причину. Напишите обработчик события для события AppDomain.CurrentDomain.UnhandledException, попросите его записать e.ExceptionObject.ToString () в журнал событий, чтобы получить хорошую трассировку стека, показывающую, почему и где он бомбил.

1 голос
/ 05 апреля 2010

Вот простое объяснение из вашей записи в журнале событий

P4 system.web.services -  module that was throwing the exception 
P9 system.net.webexception  - Exception Type
P8 65 - IL Offset where the exception was thrown

Это ведро Ватсона для получения стека вызовов исключения. Начиная с версии .NET 2.0 эта информация содержится в отчетах Watson.

Вот статья MSDN для объяснения выше.

1 голос
/ 31 марта 2010

Это выглядит как необработанное исключение. Если он генерируется в веб-приложении или службе, вы можете попробовать добавить глобальный обработчик исключений в ваш файл global.asax. См. здесь для примера. Вы можете перехватить ошибку и вывести лучшую информацию в журнал событий.

1 голос
/ 31 марта 2010

Можете ли вы рассказать подробнее о типе приложения? Что он делает, интерактивный или неинтерактивный?

Фактическая ошибка system.net.webexception - это какая-то форма проблемы связи с веб-страницей или веб-сервисом. Это само по себе говорит о том, что это может быть периодическая ошибка, если она работает нормально, когда вы пытаетесь это сделать.

Либо это, либо что-то неправильно настроено при удаленной работе - что-то отличное от вашей среды. Например, используете ли вы внутреннюю запись DNS, которая недоступна при удаленном запуске приложения?

Вы захотите перехватить все исключения в вашем приложении (например, общее значение try { } catch { } в вашем методе main) и записать исключения в файл или получить их, чтобы отправить их себе по электронной почте, чтобы вы могли видеть более подробно, что происходит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...