解决方案 »

  1.   

    当你确定要退出时,先让子线程安全退出,可以使用一些信号来解决,或者其它你认为能通知到主线程的,等子线程都退出后,你的主线程是界面线程,就发退出消息,使主线程再退出,直接使用 exit 不太好。
      

  2.   

    当你确定要退出时,先让子线程安全退出,可以使用一些信号来解决,或者其它你认为能通知到主线程的,等子线程都退出后,你的主线程是界面线程,就发退出消息,使主线程再退出,直接使用 exit 不太好。
    将exit(1)改为发送消息到主程序正常退出::PostMessage(theApp.m_pMainWnd->GetSafeHwnd(), WM_COMMAND,  MAKEWPARAM( IDOK, BN_CLICKED ),//通过消息发送调用OnOK函数以结束进程
     (LPARAM)(LPARAM)theApp.m_pMainWnd->GetDlgItem(IDOK));
    但是程序触发这个消息以后,debug编译的会出错,release编译的能正常退出,首先子线程这样发消息给主程序可以吗?如果可以debug模式下出错的原因是什么呢?会是因为又有新开启的子线程触发这个消息?
      

  3.   

    子进程随便发个自定义的消息给界面线程就可以了,不用在里面调用 theApp.m_pMainWnd->GetDlgItem(IDOK) 这么麻烦。
      

  4.   

    崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处,看不懂时双击下一行,直到能看懂为止。
      

  5.   

    http://www.cnblogs.com/EdmundDwyane/p/3218838.htmlhttp://www.cnblogs.com/EdmundDwyane/p/3278641.htmlhttp://www.cnblogs.com/EdmundDwyane/p/3248297.html
    看明白这三篇文章,套接字你就都懂了,含demo 
      

  6.   

    m_stvec_Client 估计这个集合为空,或者里面没有你需要的套接字。崩估计是因为pData的问题,这种问题最好调试下。