Monday, November 19, 2012

И трудность трудностей трудных. Об ошибках.

При кодировании. При программировании. Или около этого. А именно об ошибке переполнения. Раньше думал, что это далеко от меня, что это со мной (моими программами) случится не может.

И не случалось. Пока компьютеры перезагружались регулярно. Утром включил, вечером выключил. И каждая загрузка – всё по новой. С чистого лица. С инициализированных переменных.

Но вот компьютеры стали другими. И перезагрузка требуется в редких случаях (установки обновлений Виндовс). И программы работают неделями, а то и месяцами (речь все таки про десктопный софт). И стали вылизать какие то глюки в программе, которых быть  не должно. Перезапустишь программу и всё работает нормально. А через некоторое время (несколько дней) – опять. И тут приходит понимание, что где то что то переполняется и работает совсем не так, как должно.

И начинается “интересный” процесс ловли “блох”. Поиск инкреметаций и декременаций переменных, их балансированность, проверка границ и т.п.

Скоро ждёт меня очередная итерация поиска. Готовлюсь.

2 comments:

Begemot said...

делай рестарт программы каждые 72 часа по таймеру :)

Nikolay Kuznetsov said...

ага, тоже уже посоветовали, только чаще - раз в сутки... а как же искусство исправления ошибок? ;)