Это может быть просто. Как я могу зарегистрировать memleak для TCriticalSection с Indy9 в D2007?
Я нашел это , но без примера.
EDIT:
Спасибо Реми за ответ, но у меня это не сработало. В каталоге Indy9 я меняю IdComponent.pas с
initialization
GStackCriticalSection := TCriticalSection.Create;
finalization
// Dont Free. If shutdown is from another Init section, it can cause GPF when stack
// tries to access it. App will kill it off anyways, so just let it leak
// FreeAndNil(GStackCriticalSection);
до
initialization
GStackCriticalSection := TCriticalSection.Create;
RegisterExpectedMemoryLeak(GStackCriticalSection);
finalization
// Dont Free. If shutdown is from another Init section, it can cause GPF when stack
// tries to access it. App will kill it off anyways, so just let it leak
// FreeAndNil(GStackCriticalSection);
Та же утечка, что и раньше. Я мог бы установить точку останова на TCriticalSection.Create, чтобы я знал, что код на самом деле выполняется. Но странная вещь заключается в том, что если я установлю точку останова на RegisterMpectedMemoryLeak FastMM, она никогда не будет достигнута.