Мост за спиной-1-5

Задача была действительно трудная. Несколько часов нормальной работы — и вдруг сбой! И совершенно непонятно, что произошло...

В принципе, план его работы был понятен. Надо было найти хоть какой-то след возникающей ошибки. Хоть какую-то «ниточку», потянув за которую, можно найти причину возникающего безобразия.

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

Но был ещё один способ — примитивный, но надёжный: расставить везде отладочную печать, выводящую в специальные файлы всё, что происходит в программе. А после очередного сбоя просмотреть выведенную информацию и узнать, что же там случилось.

Но ничего не выходило... Программа завершала свою работу слишком быстро, не успевая вывести причину возникшего сбоя.

В принципе понятно почему. Чтобы отладочная печать сработала, надо было поставить её в одном-единственном месте: там, где уже пошло что-то не так — но ещё не произошло ничего, приводящего к аварийному завершению программы. Какие-то ничтожные доли секунды... Несколько строк программного текста из тысяч других...
 
Расставить отладочную печать буквально везде? Это было нереально. Во-первых, это заняло бы слишком много времени. Даже страшно подумать, сколько... А во-вторых, «утяжелённая» таким образом программа просто не успевала бы делать то, что ей полагалось.

Оставалось одно — руководствуясь собственной интуицией, делать всё новые и новые попытки. Рассчитывая на то, что в конце концов повезёт... 


Рецензии