Wieso schmeisst das ne exception?
-
if( m_bsocket != INVALID_SOCKET ) CloseConnection( false ); // shutdown not gracefully and close socket #ifdef _DEBUG CStringA cpa = m_irgendwas + " (" + m_noch_irgendwas + ") "; CString cpw( cpa ); TRACE( _T("%s"), cpw.GetString() ); TRACE( _T("GetSocket() m_task(%d):%s Status:%d WSAErrorCode:%d\n"), m_task, m_task == ANALYZE ? _T("ANALYZE") : (LOGIN ? _T("LOGIN") : _T("???")) , hf.iStatus, m_iWSA_ErrorCode ); #endif m_bsocket = socket( AF_INET, SOCK_STREAM, IPPROTO_TCP );Es handelt sich um den Teil einer UNICODE Applikation, aber der Download-Thread (aus dem der Auszug ist) benutzt nur CStringA (daher die Konvertierung).
Nicht immer, aber alle 40 threads ungefähr schmeisst es dann 'ne exception wg. OutputDbgString (oder wie das heißt) in der letzten Zeile (m_bsocket ...).
-
Äh.
Verwende doch einfach den Debugger.
Sag dem er soll unterbrechen, sobald eine Exception geworfen wird.Dann guckst du wo genau (MFC Sourcen sind ja beim Studio dabei), und wieso er dort reingelaufen ist.
Wenn du dann noch immer nicht weisst was das eigentliche Problem ist, kannst du dich ja mit diesen Informationen nochmal melden.