我的程序运行的时候经常时不时的关闭的时候提示有错误。而后我调试中发现执行到5F439216   mov         ecx,dword ptr [eax+20h]的时候报错。
错误内容为: Unhandled exception in My.exe (MFC42D.DLL): 0xC0000005: Access Violation我的程序是一个TCP客户端,我在程序中加了一个DestroyWindow()的消息,并且在里面加了closesocket(Mysocket);
WSACleanup();的语句,因为是每次关闭程序的时候报错,所以我想是不是执行到DestroyWindow()消息里面出错了请大家帮忙

解决方案 »

  1.   

    一楼的五岭散人能不能将详细点,我现在感觉很奇怪,郁闷中,我不加DestroyWindow()的消息函数好象就不会在关闭时出错。但是在程序关闭的时候,应该要关闭SOCKET 以及要WSACleanup();不然资源泄漏,头疼啊
      

  2.   

    我已经试过了,再三调试都发现只要在DestroyWindow()加了
    closesocket(Mysocket); 
    WSACleanup(); 
    调试就发现关闭出现我所述的错误,很头疼不知道怎么解决。我别的TCP程序也是这么处理的,但是他们都没有出错,真晕
      

  3.   

    首先看,是否为多次释放导致的问题
    如果是的话,则
    if (Mysocket != INVALID_SOCKET)
    {
      closesocket(Mysocket);
      Mysocket = INVALID_SOCKET ;
      WSACleanup();
      

  4.   

    问题解决,主要是我执行EnableWindow的问题~晕倒,都没想到错在这个地方