Каковы причины ошибки EDoubleFree редкое исключение? - PullRequest
1 голос
/ 01 октября 2019

Когда я тестировал свое приложение, я был в этом сценарии

Приложения Delphi, созданные с помощью Delphi 10:

версия в сборке 1 работала вместе с версией в сборке 2.

Итак, довольно похожие приложения, за исключением ошибки, исправленной в сборке 2.

Я закрыл 2 приложения вместе, и EurekaLog ясно показал мне ошибку (возникшую в сборке 1):

Приложение предприняло попытку освободить один и тот же блок памяти дважды: $ 220B4A80 OBJECT [TList] 20 байтов.

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

Ошибка была вызвана вызовом

MyList.Free;

, где MyList является TList

Я усталВоспроизведите его снова, но безуспешно.

Исправление ошибки не было связано с этим TList, похоже, что одновременное выполнение двух похожих приложений вызвало ошибку, и было некоторое совпадение.

Это само по себеЭто ошибка Delphi, в принципе приложение не должно пытаться освободить одну и ту же память дважды.

Кто-нибудь имел опыт с этим исключением?

Спасибо.

...