Вопрос

Похоже, что на некоторых клиентах наш WinForms аварийно завершает работу при запуске.Под некоторыми я имею в виду очень-очень редкие.В одной ситуации мы обнаружили, что системный шрифт Arial был поврежден и вызвал сбой в InitializeComponents при запуске.Обнаружить это было очень сложно, единственной подсказкой была запись в журнале событий о том, что модуль System.Drawing вызвал сбой.

Теперь у меня снова такая ситуация, но на этот раз неисправный модуль «неизвестен», и мне интересно, как люди обрабатывают/отлаживают такие сбои.Я попытался обернуть обработчик исключений вокруг InitializeComponents, но он ничего не перехватил.

Любые советы, как подойти к этим сбоям?

Это было полезно?

Решение

Вы всегда ловите исключение в main() и вставьте исключение в журнал ошибок.Только тогда вы сможете отладить и узнать все за вас.

Для инструмента регистрации ошибок вы можете попробовать log4net, или просто запишите в простой плоский файл.

Другие советы

Я использовал подход, подробно описанный в http://www.wintellect.com/CS/blogs/jclark/archive/2005/03/30/simple-main.aspx с хорошим успехом.

(Однако вам придется игнорировать около 3000 строк спам-комментариев.)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top