Мы начали испытывать Not enough storage available to process this command
. Приложение WPF
, исключение начинает появляться после нескольких часов работы в обычном режиме.
System.ComponentModel.Win32Exception (0x80004005): Not enough storage is available to process this command
at MS.Win32.UnsafeNativeMethods.RegisterClassEx(WNDCLASSEX_D wc_d)
at MS.Win32.HwndWrapper..ctor(Int32 classStyle, Int32 style, Int32 exStyle, Int32 x, Int32 y, Int32 width, Int32 height, String name, IntPtr parent, HwndWrapperHook[] hooks)
at System.Windows.Interop.HwndSource.Initialize(HwndSourceParameters parameters)
at System.Windows.Window.CreateSourceWindow(Boolean duringShow)
at System.Windows.Window.CreateSourceWindowDuringShow()
at System.Windows.Window.SafeCreateWindowDuringShow()
at System.Windows.Window.ShowHelper(Object booleanBox)
at System.Windows.Window.Show()
at System.Windows.Window.ShowDialog()
Мое понимание - это какое-то исключение из памяти, специфичное для выделения windows resources
. Какова возможная причина этого и как его отладить?
Обновить
Я рассмотрел тему, предложенную @Thili77 (this one). Я использовал GDIView и диспетчер задач для поиска обработанных ручек во время выполнения нашего приложения (Handles, USER Objects и GDI objects в taskmgr), и похоже, что они не растут. Мой следующий тест - попытаться запустить его в течение дня без VS (ранее он выполнялся в процессе VS VS) и проверить, все ли это происходит. Я все еще ищу любые советы или советы, если у кого-нибудь есть
Обновление # 2
Это происходит на новом чистом ПК без хостинга VS. Ручки, объекты USER и объекты GDI в порядке сбоя. Когда ПК в аварийном состоянии ничего не работает, похоже, что ручки действительно просочились, но ProcMon не показывает большие числа для этих значений. Также странно, что это всегда происходит около 7-8 часов вечера, когда в офисе нет никого, и это не имеет значения, когда я запускал приложение. Это уже третья катастрофа. Совпадение? Единственное, что я заметил, что я нахожу странным, - это большое количество ошибок страницы для приложения, которое постоянно растет. Может ли это быть связано? Больше не отображается, см. "Обновление № 3"
Обновление # 3
Далее приведены сведения об аварии, которую я испытываю. Система - x86, приложение - x86, W7 SP1.
Текущее состояние, показанное на скриншотах, находится прямо после аварии, а windbg приостанавливает процесс.
По какой-то причине в настоящее время исключение имеет другое сообщение: The operation completed successfully
. Но это все тот же Win32Exception, исходящий из одного и того же фрагмента кода.
Мне также нужно указать, что я работаю с уменьшенным количеством кучи рабочего стола и с опциями AppAnalyzer Basic - для того, чтобы сделать ошибку более частым (что, похоже, работает). Предположение о времени было действительно совпадением, и времени, связанного с общей темой, больше не было.