Отлов "исчезающих" багов и крешей
От: Ignoramus  
Дата: 04.01.05 13:51
Оценка:
Господа, нужна помощь.

Пишу на Visual C++ 6.0.

В процессе тестирования, время от времени (нерегулярно) происходит сбой типа "access violation", и программа слетает.

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

Самые грубые "ляпы" удалось отловить достаточно просто и быстро, а вот более скрытые баги продолжают изредка проявляться и на их отлов требуется время, все более стремящееся к бесконечности.

Вопрос: Как принято бороться с нерегулярно проявляющимися сбоями? (Кроме бесконечного тестирования)

Тестируется релизовая версия, т.е. без отладочной информации, т.к. в дебаговой версии баг не проявляется. Изучаю способ дампирования и разбора содержимого стека, как это делает отладчик MS Visual C++ (как, кстати?).

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

Вести лог по всем функциям не представляется целесообразным — слишком много будет информации, а баг возникает редко.

Буду признателен за любой совет.
Re: Отлов "исчезающих" багов и крешей
От: Аноним  
Дата: 04.01.05 16:33
Оценка:
BoundsChecker может помочь.
Еще почитай тут: http://www.rsdn.ru/article/vcpp/vcdebug-5.xml
Автор(ы): Александр Шаргин
Дата: 27.01.2002
Re: Отлов "исчезающих" багов и крешей
От: nzeemin Россия http://nzeemin.livejournal.com/
Дата: 05.01.05 12:27
Оценка:
Здравствуйте, Ignoramus, Вы писали:

I>Тестируется релизовая версия, т.е. без отладочной информации, т.к. в дебаговой версии баг не проявляется. Изучаю способ дампирования и разбора содержимого стека, как это делает отладчик MS Visual C++ (как, кстати?).


Оптимизация и отладочная информация — это разные вещи...
Даже если версия релизовая, т.е. выполняется оптимизация — можно включить генерацию отладочной информации. Сделай под это отдельную конфигурацию и отлаживай на здоровье...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.