Что может привести к тому, что приложение .NET WinForms закроется без диалога?

Сообщается, что наше приложение WinForms иногда просто закрывается самостоятельно. Он не показывает наш собственный диалог отправки ошибок при сбое или диалоговое окно отправки ошибок Windows, оно просто закрывается и исчезает, часто, когда человек был аффик и ничего не делает с приложением. Кажется, это редкое явление, возможно, 2-3 раза в месяц, и это случается с более чем одним человеком. Я понятия не имею, с чего начать с получения рецензии или где начать отслеживать это.

C # .NET 2.0 Зарегистрированные случаи находятся в Win XP

У кого-нибудь есть идеи?

3

3 ответы

Переполнение стека из-за бесконечной рекурсии является большой причиной отказа приложений без предупреждения. Если вы не сделали что-то преднамеренное, чтобы вызвать молчащий выход, тогда необработанные исключения (кроме переполнения стека) обычно отображают некоторый пользовательский интерфейс перед тем, как приложение завершит работу. Переполнение стека является наиболее распространенным исключением (oops, sorry) для этого правила.

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

Хорошие предложения по инструментарию и просмотр журнала событий Windows.

4
добавлено
Похоже, что это, скорее всего, тихий крах. благодаря
добавлено автор Davy8, источник

Исключения заставят приложение «исчезнуть». Проверьте журналы событий, чтобы узнать, есть ли что-нибудь.

Проверьте диспетчер задач, чтобы убедиться, что процесс все еще присутствует, когда окно исчезает. У меня произошел сбой проводника и не удалось перерисовать окно до тех пор, пока оно не было Alt-Tabbed или Switched-To (из диспетчера задач).

Не помещайте это мимо пользователей, чтобы удобно забыть, что они закрывают приложение. Возможно, вы захотите добавить в приложение некоторую логику регистрации, чтобы регистрировать закрытые пользователем сеансы. В следующий раз, когда он «исчезнет», вы можете проверить наличие записей в журнале.

3
добавлено
Приложение не находится в «дикой природе», но я знаю этих пользователей достаточно, чтобы доверять тому, что они сами не закрывали приложение (это бывает слишком часто для удобной забывчивости)
добавлено автор Davy8, источник
Кроме того, приложение не создает новый экземпляр, если уже есть другой процесс, и они смогли снова открыть приложение, поэтому он действительно рушился молча, но в целом это хорошие вещи для проверки.
добавлено автор Davy8, источник

Вы можете добавить некоторую логику в событие FormClosing, чтобы спросить у пользователя, действительно ли это то, что они действительно хотят сделать, вы можете отменить закрывающее событие, и ваше приложение будет продолжать работать, если все будет хорошо. Если вы продолжаете замечать эту проблему, и она никогда не выполняет вашу логику, вам придется загрязнять руки в отладчике.

0
добавлено
DotNetRuChat
DotNetRuChat
2 992 участник(ов)

Чат русскоязычного .NET сообщества http://dotnet.ru/ Вам могут быть интересны: @dotnetchat, @cilchat, @fsharp_chat, @pro_net, @xamarin_russia, @microsoftstackjobs, @uwp_ru Флуд в @dotnettalks

Microsoft Stack Jobs
Microsoft Stack Jobs
1 788 участник(ов)

Work & freelance only Microsoft Stack. Feed https://t.me/Microsoftstackjobsfeed Чат про F#: @Fsharp_chat Чат про C#: @CSharpChat Чат про Xamarin: @xamarin_russia Чат общения:@dotnettalks

pro.net
pro.net
710 участник(ов)

Обсуждение .NET Framework и всего, что с ним связано. Правила: не флудить не по теме, уважать ваших коллег и никакой рекламы (объявления о вакансиях можно согласовать с @AlexFails). Флудилка: @dotnettalks Участник @proDOT

Microsoft Developer Community Chat
Microsoft Developer Community Chat
584 участник(ов)

Чат для разработчиков и системных администраторов Microsoft Developer Community. __________ Новостной канал: @msdevru __________ Баним за: оскорбления, мат, рекламу, флуд, флейм, спам, NSFW контент, а также большое количество оффтоп тем. @banofbot

.NET Talks: Force Push Masters
.NET Talks: Force Push Masters
490 участник(ов)

Свободный чат .NET разработчиков. Правила: t.me/dotnettalks/56823 Вам могут быть интересны: @dotnetruchat, @dotnetchat, @cilchat, @fsharp_chat, @pro_net, @dotnetgroup, @xamarin_russia, @microsoftstackjobs, @uwp_ru http://combot.org/chat/-1001128250813

.NET Chat Убежище
.NET Chat Убежище
246 участник(ов)

Чат .NET разработчиков под эгидой MSK/SPB .NET Community Group Вам могут быть интересны: @fsharp_chat, @dotnetruchat, @cilchat, @xamarin_russia, @microsoftstackjobs, @dotnetgroup Флуд в @dotnettalks

.NET CIL Chat
.NET CIL Chat
54 участник(ов)

.NET CIL (aka IL aka MSIL)