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

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

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

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

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

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

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

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

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

Буду признателен за любой совет.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.