Выпадение приложения

  • Автор темы olegrif
  • Дата начала
Статус
Закрыто для дальнейших ответов.
O

olegrif

Гость
#1
Здравствуйте All!
Море приложение на Delphi 4 Enterprise работает в круглосуточном режиме, обращаясь к COM-портам к железу. Ошибок не выдает, делает свое дело. Но вдруг, совершенно неожиданно завершается без сообщения об ошибке. И вообще, без всякого сообщения.

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

В приложениии используются нити. Приложение достаточно большое, размер exe-приложения составляет 1.4Mb.
Перекомпиляция на Delphi 7 Enterprise проблемы не решает.
Ломал голову, так ине придумал, как чертика схватить за хвост. В чем может быть проблема? Если это утечка памяти, то как с ней бороться?
Сколко не ломал голову, не нашел решения.
 

morpheus

скриптописец
07.08.2006
3 915
1
#2
Но вдруг, совершенно неожиданно завершается без сообщения об ошибке
- а не пишуться Log-ги в приложении,

если вести локи то можна же увиеть из-за чего он падает, или по крайней мере в какой момент времени
 
B

Barmutik

Гость
#3
Поставить менеджер памяти который отсылеживает memory leaks... например FastMM4...

И вести лог файл тоже я думаю Вам поможет...
 
O

olegrif

Гость
#4
Буть осторожен в своих желаниях - они могут сбыться
Почти всегда сбываются :).

Логи-это хорошо. Похоже, эта та последняя мера, которую можно использовать.
Но уж больно много кода придется перелопачивать :(
--------------------
 
O

olegrif

Гость
#5
<!--QuoteBegin-Barmutik+25:10:2006, 15:12 -->
<span class="vbquote">(Barmutik @ 25:10:2006, 15:12 )</span><!--QuoteEBegin-->Поставить менеджер памяти который отсылеживает memory leaks... например FastMM4...
[snapback]46303" rel="nofollow" target="_blank[/snapback]​
[/quote]

Круто, то есть появятся следы работы некорректного кода?
 
B

Barmutik

Гость
#6
Угу .. мы используем только его .. мало того что он быстрее чем стандартный борляндовский на 10-15%.. так можно получать отчёт о потерях памяти .. првада для этого есть ещё и другие штуки ...например MemCheck...
 
O

olegrif

Гость
#7
Угу .. мы используем только его .. мало того что он быстрее чем стандартный борляндовский на 10-15%.. так можно получать отчёт о потерях памяти .. првада для этого есть ещё и другие штуки ...например MemCheck...
:D Значит, можно поймать класс, по которому идёт утечка памяти, а через закрытие утечки, возможно, ликвидировать выпадение EXE?


Возможно, еще может быть проблема с ассемблерными вставками и с БДЕ, с которого пока не удалось перебраться на ADO. :P
 
B

Barmutik

Гость
#8
Да может быть лажа в чём угодно .. первое что стоит сделать так это ввести логирование всех операций и локализовать на чём конкретно происходит слёт ...

У нас полкода на асме .. но это ж не повод падать :P
 
Статус
Закрыто для дальнейших ответов.