[select-Server] memory leaks ??
-
Nein, hab ich nicht, hab grad nochmal durch den Code geschaut, habe nix mit new allokiert
-
Siehst Du in Deinem Dump die Allkationsnummern 241+243. Sind die konstant, dann setze einfach mal
_CrtSetBreakAlloc(241);An den Start Deines Programmes. Dann bekonmmst Du einen Debug Breakpoint und kannst im Callstack sehen, wer diesen new/malloc auslöst.
Siehe auch
http://msdn.microsoft.com/en-us/library/4wth1ha5(VS.80).aspx
-
OK, gut, hab mal eine Nachricht dem Server geschickt und dann wurde er durch _CrtSetBreakAlloc(205) angehalten, als ich auf Close ging.
Er zeigt mir im CallStack das:> msvcr80d.dll!realloc_help(void * pUserData=0x003baec8, unsigned int * pnNewSize=0x031cf980, int nBlockUse=1, const char * szFileName=0x63674d88, int nLine=173, int fRealloc=1) Line 651 C++
Aber ich versteh das eigentlich nicht wirklich

-
Habs doch hinbekommen, lag an meinem OnClose(), habs so abgeändert und bis jetzt keine Leaks mehr bekommen.
void CServerDlg::OnClose() { TerminateThread(hClient, 0); ClientSock.Close(); TerminateThread(hServer, 0); CloseMyHandle(hServer); serversock.Close(); CloseSocket(); // WSACleanup() EndDialog(0); }Kann zwar noch nicht wirklich erklären, wieso das vorige OnClose() falsch war, aber ok, so funktionierts jetzt.
Auf jeden Fall vielen Dank für die tollen Aufklärungen und Hilfen !!