4

У меня есть приложение для работы с окнами, работающее довольно хорошо, за исключением случаев, когда оно возвращается из Tombstonning, а затем довольно беспорядочно выходит из него после выполнения одной и той же команды несколько раз.Неожиданный выход приложения для телефона Windows без каких-либо исключений

Я поставил VS2012, чтобы сделать паузу в любой первый шанс исключение, но ничего не происходит:

enter image description here

У меня также есть обработчики для следующих событий:

this.application.UnhandledException += this.OnApplicationUnhandledException; 
this.application.RootFrame.NavigationFailed += this.OnRootFrameNavigationFailed; 
AppDomain.CurrentDomain.UnhandledException += CurrentDomainOnUnhandledException; 

Ни один из обработчиков не вызывается : S

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

The program '[1040] TaskHost.exe' has exited with code -2147483645 (0x80000003). 

EDIT: Наконец я разыскал задачу к следующей строке:

Contract.Requires<ArgumentNullException>(bitmap != null, "Bitmap cannot be null."); 

Приложение, выходящий даже если переменная битовая карта не является нулевым. Есть идеи?

+0

У вас есть какие-либо утверждения в вашем коде? –

+0

Нет, просто код производства. –

+0

'k, просто проверяя, в моем опыте '0x80000003' обычно появляется, когда отладчик неправильно улавливает точку останова (т. Е. Visual Studio нуждается в повторном перезапуске) или когда атакует assert. –

ответ

2

Похоже, что это дефект API CodeContracts.

Призвание:

Contract.Requires<ArgumentNullException>(bitmap != null, "Bitmap cannot be null."); 

делает приложение выхода иногда (событие с растровый не нулевой) с единственной информацией является:

Программа '[1040] taskhost.exe' завершился с код -2147483645 (0x80000003).

1

Интересно, что это не единственный случай, когда происходит неожиданный выход. В моем случае это связано с комбинацией управления WebBrowser, Microsoft AdControl и UploadOperation/DownloadOperation. Если я возьму хотя бы одну из этих вещей из уравнения, приложение станет довольно стабильным, но со всеми их в приложении сразу оно может неожиданно выйти практически в любое время: когда вы прокручиваете управляющий контент WebBrowser, когда вы приостанавливаете или возобновляете DownloadOperation , когда содержимое AdControl обновляется, в то же время что-то изменяется на экране. В моем случае код ошибки равен 1. Интересно, как подойти к исследованию такой проблемы, чтобы найти более или менее точную причину и попытаться свести к минимуму вероятность выхода. Я определенно не могу полностью удалить элемент управления WebBrowser или AdControl или DownloadOperation/UploadOperation, но потенциально я мог бы «перестроить» что-то так сказать, но что и где?

Смежные вопросы