Detected memory leaks при вызове AfxFreeLibrary
От: Alex_Bukreev  
Дата: 12.05.09 11:39
Оценка:
Есть MFC-приложение и MFC extension DLL. Приложение загружает эту DLL посредством AfxLoadLibrary. При вызове AfxFreeLibrary в окно отладки выдаются сообщения об утечке памяти для всех операций выделения памяти, сделаных между вызовами AfxLoadLibrary и AfxFreeLibrary. Например при выполнении такого куска кода:

    HMODULE hModule = AfxLoadLibrary( _T("MyDLL.dll") );
    int* p1 = new int[ 100 ];
    char* p2 = new char[ 321 ];
    AfxFreeLibrary( hModule );
    delete p1;
    delete p2;


в окно отладки выдаются такие сообщения:

MyDLL.DLL Initializing!
MyDLL.DLL Terminating!
Detected memory leaks!
Dumping objects ->
...\appdlg.cpp(50) : {108} normal block at 0x0035C8A8, 321 bytes long.
 Data: <                > CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD 
...\appdlg.cpp(49) : {107} normal block at 0x0035C6D8, 400 bytes long.
 Data: <                > CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD 
f:\rtm\vctools\vc7libs\ship\atlmfc\src\mfc\strcore.cpp(141) : {82} normal block at 0x00353298, 49 bytes long.
 Data: <  >x            > EC 97 3E 78 0C 00 00 00 20 00 00 00 01 00 00 00 
{69} client block at 0x00353218, subtype c0, 64 bytes long.
a CDynLinkLibrary object at $00353218, 64 bytes long
a CDynLinkLibrary object at $00353218, 64 bytes long
Object dump complete.


Кто-нибудь знает, как с этим бороться ? Может тема уже обсуждалась, тогда дайте плиз ссылочку.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.