Windows Forms ComboBox, вызывающий прерывистое исключение System.AccessViolationException

Немного предыстории:

Я искал как stackoverflow, так и Google, чтобы выяснить происхождение этого конкретного исключения.

У нас есть приложение Windows Forms (C #, .NET 2.0), которое иногда вызывает исключение System.AccessViolationException (трассировка стека ниже). Исключение произошло как в Windows XP (SP3), так и в Windows Vista (SP2). На основании пользовательского ввода мы установили, что исключение возникает при изменении выбранного индекса ComboBox.

ComboBox - это стандартный компонент Windows Forms, который содержится в настраиваемом элементе управления, наследующем System.Windows.Forms.UserControl .

Мой главный вопрос:

Где это исключение?

  • Это какая-то внутренняя ошибка в .NET framework?
  • Может ли это быть код, который отправляется при событии SelectedIndexChanged , которое вызывает это?

Связанные темы по stackoverflow:

Трассировка стека:

Message: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
Type: System.AccessViolationException

   at System.Windows.Forms.UnsafeNativeMethods.CallWindowProc(IntPtr wndProc, IntPtr hWnd, Int32 msg, IntPtr wParam, IntPtr lParam)
   at System.Windows.Forms.NativeWindow.DefWndProc(Message& m)
   at System.Windows.Forms.Control.DefWndProc(Message& m)
   at System.Windows.Forms.Control.WmCommand(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ComboBox.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

11
задан Community 23 May 2017 в 11:48
поделиться