Гость
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / OutOfMemory при показе 138 кБ и занимаемых 23МБ ОЗУ? / 7 сообщений из 7, страница 1 из 1
05.12.2017, 21:42
    #39564729
КириллН
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OutOfMemory при показе 138 кБ и занимаемых 23МБ ОЗУ?
Добрый вечер, коллеги!
Программа (C# WPF NET3.5) вылетает с формулировкой:
Необработанное исключение типа "System.OutOfMemoryException" в PresentationCore.dll
Недостаточно памяти для продолжения выполнения программы.


Необработанное исключение: OutOfMemoryException.
Программа "[8080] ProgName.exe" завершилась с кодом -532459699 (0xe0434f4d).

Случается это при попытке отобразить картинку-PNGэшку размером (на диске) 138+кБ в Image. Диспетчер задач кажет использование памяти приложением 23 МБ (всего 16 ГБ). Причем, пока обнаружил только одну такую PNGшку, ибо куча других в этот же Image нормально загружаются и показываются. Image такой:
Код: xml
1.
<Image Height="50" Width="150" Source="{Binding Value.Info.PrefiewImagePath}" Stretch="UniformToFill" VerticalAlignment="Center" HorizontalAlignment="Center" />


Value в биндинге - это из Dictionary<>.
PrefiewImagePath - это string, полный адрес к картинке.
Повторюсь: все картинки грузятся ок, и только одна вышибает.
...
Рейтинг: 0 / 0
05.12.2017, 23:34
    #39564749
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OutOfMemory при показе 138 кБ и занимаемых 23МБ ОЗУ?
КириллН,

если вышибает только одна, попробуйте пересохранить картинку в любом редакторе или пересоздать, скорее всего при её обработке происходит какая то ошибка.
Количество ОЗУ в 16 гб, ни как не определяет количество памяти которое может запросить и получить приложение, особенно, если оно 32 битное и даже если 64 битное, все 16гб вы не получите.
...
Рейтинг: 0 / 0
06.12.2017, 07:14
    #39564811
КириллН
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OutOfMemory при показе 138 кБ и занимаемых 23МБ ОЗУ?
Roman MejtesКириллН,

если вышибает только одна, попробуйте пересохранить картинку в любом редакторе или пересоздать, скорее всего при её обработке происходит какая то ошибка.
Роман, благодарю за ответ. Пересохранение - не вариант. Мое приложение - "помогатор" для создания файлов локализации модификаций. Картинки - это инфопревьюшки, создаваемые авторами модификаций. Когда я выпущу приложение в свободный доступ, не хотелось бы сопровождать его описанием подобного known issue.
Возможно, можно как-то в cs проверить картинку и поймать ошибку, а не в xaml? Пусть бы она не отображалась - лишь бы не вышибала. Что интересно: в предыдущей сборке всё было ок в т.ч. с этой картинкой - рисовалась. Изменил MaxWidth Image'а - стала вышибать. Причём, так: пока не прокрутишь список до неё - все отлично работает; как только она должна "попасть на глаза" - капут.
...
Рейтинг: 0 / 0
06.12.2017, 07:19
    #39564812
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OutOfMemory при показе 138 кБ и занимаемых 23МБ ОЗУ?
КириллН,
Препарирование картинки в редакторе картинок, как раз поможет поставить диагноз.
А не замолчать проблему как вы подумали.
...
Рейтинг: 0 / 0
06.12.2017, 09:19
    #39564835
Сон Веры Павловны
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OutOfMemory при показе 138 кБ и занимаемых 23МБ ОЗУ?
КириллНВозможно, можно как-то в cs проверить картинку и поймать ошибку
Можно (например, заполнением BitmapImage), но приложение всё равно должно после возникновения ошибки умереть, т.к. OutOfMemoryException - это CSE, corrupted state exception:
This type of OutOfMemoryException exception represents a catastrophic failure. If you choose to handle the exception, you should include a catch block that calls the Environment.FailFast method to terminate your app
( https://msdn.microsoft.com/en-us/library/system.outofmemoryexception(v=vs.110).aspx)

Дальнейшая работа после возникновения такой ошибки абсолютно непредсказуема.
...
Рейтинг: 0 / 0
06.12.2017, 21:51
    #39565435
КириллН
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OutOfMemory при показе 138 кБ и занимаемых 23МБ ОЗУ?
Ко своему стыду вынужден признать, что не знал про фатальность этой ошибки, хотя догадаться следовало. Благодарю за просвещение!

Что ж, буду пробовать "препарировать" её.

Благодарю за ответы, коллеги! Если что-нибудь накопаю - отпишусь.
Приятно было пообщаться.
...
Рейтинг: 0 / 0
07.12.2017, 19:58
    #39566211
КириллН
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OutOfMemory при показе 138 кБ и занимаемых 23МБ ОЗУ?
Да, простое пересохранение все спасло.
Ещё раз спасибо за участие!
...
Рейтинг: 0 / 0
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / OutOfMemory при показе 138 кБ и занимаемых 23МБ ОЗУ? / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]