2009-08-06 3 views
0

Я вроде потерял здесь, и я не знаю, что делатьWPF приложения замерзает

У меня есть проблема, которую я не знаю, что источник его. У нас есть большое приложение wpf, которое построено подобно призме (составное приложение) На самом деле мы используем много библиотеки призмы. Я написал модуль для замены существующего модуля. И приложение теперь загружает мой модуль, а не старый модуль.

Я начинаю замечать с новым модулем, что иногда приложение замораживается в течение 20-30 секунд без какого-либо ответа, а затем оно работает плавно после этого.

Замерзание не является согласованным, и нет шаблона или причины, вызывающие его.

Я подозреваю, что это может быть мой модуль, который вызывает это замораживание. Но в то же время многие другие разработчики внедрили новый код в приложение.

Мой вопрос: есть ли способ отслеживать это замораживание? Есть ли способ сравнить старый модуль и новый модуль, который я написал?

Я могу запустить приложение с моим модулем и отслеживать приложение, а затем я могу изменить файл конфигурации для загрузки старого модуля. Есть ли способ сравнить между ними?

Должен ли я выполнять профилирование? , и если профилирование поможет, то что я должен искать? может помочь любой другой инструмент?

Большое спасибо за любой ответ

ответ

1

Это звучит, как вы делаете длинную операцию, запущенными на вашем UI потоке. Вы делаете любые обращения к базе данных/веб-сервисам из основного потока? Я думаю, что одна из самых простых вещей - запустить его в отладчике, а когда он замерзает, нажмите кнопку «пауза». Visual Studio приостановит выполнение в текущем местоположении, и вы сможете проверить, что происходит так долго.

Если проблема не сразу очевидна, я бы определенно начал профилировать приложение, чтобы отслеживать это.

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