не могу ни я, ни они.
Access violation at address 0000000000A35BAD in module 'XXX.exe'. Read of address FFFFFFFFFFFFFFFF.
Call Stack Information:
Class |Procedure/Method
|*Exception Thread: ID=6732; Parent=0; Name=MAIN
TComponent |RemoveFreeNotifications
TComponent |Destroy
TCustomImageList |Destroy
TObject |Free
TCustomListView |Destroy
TWinControl |Destroy
TTabSheet |Destroy
TWinControl |Destroy
TCustomTabControl |Destroy
TPageControl |Destroy
TWinControl |Destroy
TScrollingWinControl |Destroy
TCustomForm |Destroy
TObject |Free
Еще реже бывает тоже в RemoveFreeNotifications, но в другом месте, при дестрое TIdIOHandler. Все, за два месяца наблюдений только тут бывает.
Когда началось - непонятно, я старые логи не храню, но довольно давно.
строка ошибки в RemoveFreeNotifications:
while Assigned(FFreeNotifies) and (FFreeNotifies.Count > 0) do
по асм вызову и регистрам - в FFreeNotifies не ноль, но видимо мусор.
Подскажите, в какую сторону стоит копать? Все, что мне в голову пришло, уже проверено.
Проверь все циклы, может там где то выбивает?
Обычно такие ошибки когда обнуляем уже обнуленое.
запусти с FullDebugMode.dll FastMM4 и опциями проверки кучи/повторной очистки и т.д.
какие "все циклы"? приложение не в 100 строк, и даже не в 100к :)
EurekaLog с очисткой памяти, проверкой Free Objects, и т.д.
Оооо, ну тогда удачи.
Обсуждают сегодня