Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как ликвидировать утечку памяти? / 7 сообщений из 7, страница 1 из 1
17.11.2018, 12:31
    #39734500
AdamAry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ликвидировать утечку памяти?
FastMM:
Код: pascal
1.
2.
Аn unexpected memory leak has occurred. the unexpected small block leaks are:
69 - 76 bytes: TEventWaitThread x 1




Как ликвидировать утечку памяти?
...
Рейтинг: 0 / 0
17.11.2018, 12:37
    #39734508
white_nigger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ликвидировать утечку памяти?
Прибить объект
...
Рейтинг: 0 / 0
17.11.2018, 13:03
    #39734515
AdamAry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ликвидировать утечку памяти?
white_nigger,
пробовал прибить с помощью
Код: pascal
1.
TerminateProcess(GetCurrentProcess,0);


но мне сказали что это слишком экстремальный способ и лучше его не использовать.
...
Рейтинг: 0 / 0
17.11.2018, 13:13
    #39734517
makhaon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ликвидировать утечку памяти?
AdamAry,

примерно как лечение простуды гильятиной.
...
Рейтинг: 0 / 0
17.11.2018, 15:24
    #39734551
defecator
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ликвидировать утечку памяти?
makhaonAdamAry,

примерно как лечение простуды гильятиной.
гильотиной
(с) граммар-наци
...
Рейтинг: 0 / 0
17.11.2018, 16:19
    #39734569
Фэйтл Эра
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ликвидировать утечку памяти?
AdamAry,

а почему тебя эта "утечка" расстроила?
Это всего лишь не был вызван деструктор одного объекта к моменту формирования отчета в FastMM4, что не всегда и вовремя проиходит.
В чем беда, память потребляемая пухнет, приложение при завершении зависает или что?

"Неаккуратненько"?
...
Рейтинг: 0 / 0
18.11.2018, 08:49
    #39734715
AdamAry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ликвидировать утечку памяти?
Фэйтл Эра,
да всё нормально, только вот сообщение об утечке как то настораживает "В чем беда, память потребляемая пухнет, приложение при завершении зависает или что?"
Забить на всё и оставить всё как есть?: "Это всего лишь не был вызван деструктор одного объекта к моменту формирования отчета в FastMM4, что не всегда и вовремя просиходит." или всё же вызвать деструктор и уничтожить.
Где и как лучше всего вызвать деструктор?

Деструктор вызывается в *.dpr файле
Код: pascal
1.
2.
3.
...
  if not Application.Terminated and not Thread.ExternalThread then
    FreeEvent;



А вот сам FreeEvent из unit uEventWaitThread;
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
procedure FreeEvent;
begin
  Thread.Terminate;

  CommandEvent := OpenEvent(EVENT_MODIFY_STATE, False, EventName);
  SetEvent(CommandEvent);

  // Закрываем все дескрипторы
  CloseHandle(CommandEvent);
  CloseHandle(ClientMailslotHandle);
end;
{ TEventWaitThread }



Почему всё таки идёт сообщение об утечке и как эту утечку ликвидировать?
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как ликвидировать утечку памяти? / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]