Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.07.2012, 08:55   #1
WarHamster
Пользователь
 
Регистрация: 09.08.2010
Сообщений: 48
По умолчанию Нужен совет, как отловить ошибку?

В программе присутствует баг - иногда по ходу выполнения во всю форму вместо компонент отрисовывается красный крест и выскакивает месседж

Ссылка на объект не указывает на экземпляр объекта.


************** Текст исключения **************
System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта.
в DevExpress.XtraTreeList.Painter.Tre eListPainter.DoDraw(TreeListViewInf o viewInfo, DXPaintEventArgs e)
в DevExpress.XtraTreeList.TreeList.On Paint(PaintEventArgs e)
в System.Windows.Forms.Control.PaintW ithErrorHandling(PaintEventArgs e, Int16 layer)
в System.Windows.Forms.Control.WmPain t(Message& m)
в System.Windows.Forms.Control.WndPro c(Message& m)
в DevExpress.XtraEditors.Container.Ed itorContainer.WndProc(Message& m)
в DevExpress.XtraTreeList.TreeList.Wn dProc(Message& m)
в System.Windows.Forms.Control.Contro lNativeWindow.OnMessage(Message& m)
в System.Windows.Forms.Control.Contro lNativeWindow.WndProc(Message& m)
в System.Windows.Forms.NativeWindow.C allback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

Проблема в том, что баг вылазит очень редко, и я никак не могу связать его появление с чем-то конкретным. Как можно отловить подобную вещь? Например, можно ли сделать try-catch, обрабатывающий весь жизненный цикл программы? Написано на C#
WarHamster вне форума Ответить с цитированием
Старый 12.07.2012, 10:08   #2
Guy
Форумчанин
 
Регистрация: 15.12.2010
Сообщений: 398
По умолчанию

Если TreeListPainter.DoDraw ваше то пофантазируйте если какой то из параметров Null, либо свойство в параметрах. Нахудой конец если конечно это твой метод то весь его оттракечь. В ситуции если это не твоё то можешь на удачу понадеяться и Reflector-ром поглядть код этого метода

На жизненый цикл Чтобы но если это исплючение в диспатчере формы, исплючения в потоках приводят к схлапыванию аппликухи. Но судя по стеку это диспатчер. Чтобы дальше не ломалось Handled = true ставь.
Guy вне форума Ответить с цитированием
Старый 12.07.2012, 15:23   #3
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Ощущение такое, что где-то у тебя есть объявление типа, но нет его инициализации. Время от времени возникает ситуация когда ты обращаешься к неинициализированному объекту.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 12.07.2012, 16:07   #4
Hollander
Участник клуба
 
Аватар для Hollander
 
Регистрация: 03.05.2007
Сообщений: 1,189
По умолчанию

Остается понять, эта ошибка WarHamster'a или в DevExpress.XtraTreeList. В общем, если ты сам переопределил метод DoDraw - то твоя проблема, иначе обратить в суппорт DevExpress. Правда может быть вариант что ты в дерево что-то не то пишешь.
Hollander вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужен хороший совет программиста!Как поступить правильно?! Дархан555 Помощь студентам 8 28.12.2011 23:52
задать массив как константу...нужен совет dead-vip Паскаль, Turbo Pascal, PascalABC.NET 5 21.12.2008 16:07
Как отловить ошибку в своей проге ??? Crazyman Win Api 8 02.09.2008 09:24
Нужен совет! Как правильно использовать TextBox? Archi Общие вопросы .NET 3 29.12.2007 20:18