首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

Abnormal program termination!该怎么处理

2012-03-04 
Abnormal program termination!!!程序一到win7上运行老是报这个错误,但是在有些同样装了win7的电脑上却没

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;} 

热点排行