Как получить предупреждение при зависании exe-процесса - PullRequest
0 голосов
/ 01 февраля 2012

У меня есть исполняемый файл. Давайте назовем это X.exe Это консольное приложение, которое я создал с помощью C #. Тем не менее, он зависает внезапно, и я должен вручную запустить его снова. Я не хочу вносить какие-либо изменения в код. Я знаю, что мы можем использовать ProcDump или Process мониторы из Windows sysinternals. Могу ли я использовать их для мониторинга моего x.exe и получать уведомления по электронной почте, когда процесс зависает? Если да, то какую конкретную команду я должен отправить? Если нет, что еще я должен использовать для решения этой проблемы?

Редактировать / добавить: следует ли использовать создание службы Windows, определить процесс с помощью функции .net.GetProcessByName и проверить, работает ли он по-прежнему?

1 Ответ

1 голос
/ 01 февраля 2012

Вы можете справиться с этим, например:

событие AppDomain.UnhandledException , подписавшись на него и внутри метода

  • отправить письмо
  • войти
  • уведомить пользователя о произошедшей фатальной ошибке
  • или любое другое решение, которое вам может понадобиться.

Таким образом, у вас есть одна центральная точка, в которой ваше приложение получит исключение, не обработанное вашим кодом, и сможет обработать их централизованным способом.

Просто помните, что, например, StackOverflowException не может быть обработано.

Удачи.

...