| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Как отловить ошибку? |
| Автор: Vit 8.6.2002, 04:28 |
| Есть приложение - довольно сложное, примерно 100000 строк кода, много потоков, довольно сложная иерархия классов. И сие представляет из себя SMTP Relay Server, используется нашей фирмой для автоматической рассылки писем, причем работает непрерывно круглосуточно, рассылая до 50-100 тыс. писем в день. Ось - разная - одни сервера стоят на NT4Server, другие на 2000AdvSrv(железо современное и стандартное, всех ресурсов хоть отбавляй). Утечек памяти нет, работает весьма стабильно, но по непонятным причинам раз-два в месяц то один то другой сервак начинают падать, причем довольно часто - 0.5-2 раза в час, так падают пол-дня день, затем месяцами непрерывно работает нормально. Падение заключается что DoctorWatson закрывает процесс, причем при попытке найти адрес процедуры вызвавшей падение Дельфи указывает на метод одного из классов, который полностью перекрывается в потомках, компиллятор указывает что он не компиллирует этот код, не использует его и т.д. Я понимаю, что скорее всего отладчик показывает ошибочный адрес... У кого-нибудь есть дельные мысли как с этим бороться? Как искать такие ошибки? Опыт написания приложений для очень длительной работы? |