Вот что значит нарушить железное правило сисадмина - "работает - не трогай".
Пипец какой-то, т.е. полная жопа, казалось бы. Решил исправить одну (?) ошибку в
моей программе Пренатальной Допплерографии. Это 1996-й год (начало разработки
1995-й). Потом небольшие модификации, а после 2003 года поддерживать вообще
перестал, ибо и программу и все права на нее передал одной Феодоссийской фирме в
обмен на пожизненное использование её мной. С тех пор нагло и самолично
пользовался программой для пользы пациентов, но недавно, после установки на
работе Windows 2003 Server вылезла сначала одна ошибка, потом другая и
пошло-поехало. Сначала несовместимость, потом другие штуки, потом - вообще
засада. Работать стало невозможно.
Поднял исходники. 1996 год -
стабильная версия программы. Библиотечный файл (тоже мой, там все с нуля, даже
ассемблероные вставки), на котором вываливается программа - от 97-го года.
Общий код программы - где-то 680 000 000 ассемблерного кода (со
вставками)
За несколько дней вернуться назад в 96-й год и понять логику
программы -- невозможно в принципе.
Боюсь, что даже, если взять отпуск на
месяц, - все равно невозможно. Настолько погрузиться в программирование, чтобы
держать в уме все 700 Кб кода и понимать хоть что-то, - будет подвиг. Но подвига
не вышло. Вчера думал, что завтра буду судорожно пытаться или восстановить
работоспособность программы или восстановить файлы из архива. Снова психовать на
жену, пациентов и на всех остальных.
Лег спать смурной. К утру так ни
чего и не родил, хотя до полуночи просидел в изучении исходников, их
редактировании и в дебаггере. Спать ушел полностью уничтоженный и опустошенный.
Всю ночь снились двоичные коды, ассемблер и прочая херня, т.е. практичекски не
спал.
Зато на работе сумел примерно за час решить главную проблему с
помощью гексредактора (hiew32), побайтно сверяя исходник и бинарный *.cfg файл.
Пришлось подправить 9 байтов, после чего допплерография вновь
заработала.
Я так обрадовался, что даже завел на себя протокол
переношенной беременности и фетоплацентарной недостаточности. И распечатал.
Мозги пока работают. И это хорошо.