Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.12.26;
Скачать: CL | DM;

Вниз

использование fastmove с fastmm4   Найти похожие ветки 

 
heilong   (2008-11-21 11:46) [0]

В принципе везде рекомендуют использовать так

uses fastmove, fastmm4, ...;


Однако fastmm возмущается что он не первый и выпадает. Вопрос в том что если использовать

uses fastmm4, fastmove, ...;


fastmove будет перехватывать move?

И еще по fastmm, в логе проекта KOL, кроме других ошибок встречается вот такая:

409280 [fastmm4.pas][FastMM4][CheckBlocksOnShutdown][7637]
409FE2 [fastmm4.pas][FastMM4][FinalizeMemoryManager][8691]
40A02A [fastmm4.pas][FastMM4][Finalization][8772]
403B33 [System][FinalizeUnits]
403B4B [System][FinalizeUnits]
403DCE [System][@Halt0]
7C817067 [Unknown function at RegisterWaitForInputIdle]

вроде как fastmm заглючил, кто-нить сталкивался с этим?


 
exero   (2008-11-21 14:08) [1]

Во всех проектах на КОЛ использовал FASTMM4, FastCode,  FastMove. FastMove будет перехватывать - не волнуйтесь ). Что касается ошибок - ни разу такого не получал.


 
heilong   (2008-11-21 16:51) [2]

exero: а какие ты настройки поменял в FastMM4Options.inc? и зачем?


 
exero   (2008-11-24 07:34) [3]

heilong: Align16Bytes - разрешил - т.к. в FastCode много используются SSE. UseCustomVariableSizeMoveRoutines - убрал, т.к. использую FastMove. Там же все разжевано - что когда включать/выключать!

PS. Учимся обращаться к незнакомому собеседнику на вы.


 
heilong   (2008-11-24 10:16) [4]

FastMM обнаружил ошибку во время сканирования освобожденного блока операция. FastMM обнаружил что блок был модифицирован после его освобождения.

Размер предыдущего блока был: 176

This block was previously allocated by thread 0x10C, and the stack trace (return addresses) at the time was:
402B7C [system.pas][System][@GetMem][2439]
41A9AC [Common.pas][Common][Common][435]
403BA3 [system.pas][System][InitUnits][10845]
403C0B [system.pas][System][@StartExe][10910]
7C817067 [Unknown function at RegisterWaitForInputIdle]

Выделенный номер был: 86

The block was previously freed by thread 0x10C, and the stack trace (return addresses) at the time was:
402BA7 [system.pas][System][@FreeMem][2466]
41A92D [Common.pas][Common][Finalization][453]
403B33 [system.pas][System][FinalizeUnits][10704]
403DCE [system.pas][System][@Halt0][11374]
7C817067 [Unknown function at RegisterWaitForInputIdle]

The current thread ID is 0x10C, and the stack trace (return addresses) leading to this error is:
4091CC [fastmm4.pas][FastMM4][CheckBlocksOnShutdown][7637]
409F2E [fastmm4.pas][FastMM4][FinalizeMemoryManager][8691]
409F76 [fastmm4.pas][FastMM4][Finalization][8772]
403B33 [system.pas][System][FinalizeUnits][10704]
403DCE [system.pas][System][@Halt0][11374]
7C817067 [Unknown function at RegisterWaitForInputIdle]

initialization
common(435):
 mycon := NewhlMyLib;

finalization
common(453):
 mycon.Free;

Внутри класса динамичечки загружается/выгружается libmysql.dll. Все равно непонятно что происходит с fastmm. Ни у кого идей нет?

PS. to exero: sorry for familiarity


 
exero   (2008-11-24 10:52) [5]

А dll только подгружается/выгружается или выделяете память - которую потом передаете этой либе? На всякий случай попробуйте $define AssumeMultiThreaded


 
heilong   (2008-11-24 11:00) [6]

только подгружается:
 DLLHandle := SafeLoadLibrary(PChar(ClientDLL));

освобождается классически:
 FreeLibrary(DLLHandle);


 
exero   (2008-11-24 11:16) [7]

а если либу не загружать/выгружать - сообщение остается?


 
heilong   (2008-11-24 11:56) [8]

нашел, в деструкторе:


 inherited;

 FDLLHandle := 0;


FDLLHandle это поле класса. Так сказать правил несуществующее поле.
Сбило с толку что ругался fastmm сам на себя. Спасибо за помощь.



Страницы: 1 вся ветка

Текущий архив: 2010.12.26;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.01 c
15-1283932268
boriskb
2010-09-08 11:51
2010.12.26
Опять "Academia"


2-1285805956
HF-Trade
2010-09-30 04:19
2010.12.26
Назначить диапазону массива значения


15-1284496168
Юрий
2010-09-15 00:29
2010.12.26
С днем рождения ! 15 сентября 2010 среда


2-1286078679
mdel
2010-10-03 08:04
2010.12.26
юникод в delphi7


2-1285737249
ruslan_as
2010-09-29 09:14
2010.12.26
Как начать считывать текстовый файл с нужной строки