专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > C++ Builder

Abnormal program termination!该怎么处理

发布时间:2011-06-28 13:40:13 文章来源:www.iduyao.cn 采编人员:星星草
Abnormal program termination!!!
程序一到win7上运行老是报这个错误,但是在有些同样装了win7的电脑上却没有报错。
第一次我单步跟踪到一段读取网卡地址的代码出错,于是我就把那段代码注释掉了。
但是注释掉后,到了另一台装了win7的电脑上,又报这个错误了。
我想知道为什么,有可能由什么引起的,怎么解决

------解决方案--------------------
"程序异常中止" 这样的报错,其他人实在不好猜测是什么原因引起的。如果可行的话,在你的应用中加入日志记录,然后逐条分析吧。
------解决方案--------------------
用这个吧,你上面的代码里面szMac 没有释放吧,这个我测试的win7下也是可以的
C/C++ code
String GetMac(AnsiString strIPAddr)
{
String MACStr;
ULONG       pulMac[2];
ULONG       ulLen;
HRESULT   hr;
unsigned   int  addr;
WORD                 wVersionRequested;
WSADATA           wsaData;
int                   nErrorNum;

        wVersionRequested   =   MAKEWORD(2,   2);
        nErrorNum   =   WSAStartup(wVersionRequested,   &wsaData);
        if(nErrorNum   !=   0)
        {
                ShowMessage( "Error!   WSAStartup   failed!\n ");
                return   " ";
        }


        addr  =   inet_addr((char   FAR*)(strIPAddr.c_str()));
        memset   (pulMac,   0xff,   sizeof   (pulMac));
        ulLen   =   6;
         hr =    SendARP   (addr,   0,   pulMac,   &ulLen);
    if(hr == NO_ERROR)
       {
        size_t   i,   j;
        char   *szMac   =   new   char[ulLen*3];
        PBYTE   pbHexMac   =   (PBYTE)   pulMac;

    sprintf(szMac,"%02X%02X%02X%02X%02X%02X",pbHexMac[0], pbHexMac[1],
               pbHexMac[2], pbHexMac[3], pbHexMac[4], pbHexMac[5]);
         MACStr = String(szMac);

        delete   []   szMac;
       }
WSACleanup();

       return MACStr;
}
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: