碰上灵异事件了? 请高手帮忙~~
一段在debug版下正常,但在release版下会偶然出现异常的代码.
是个随机性的错误, 程序运行几分到半个小时后才会触发 int 3h挺下来.
开始我以为是哪里的指针或数据越界了. 于是在函数里面加了个 DWORD temp[16]={0};
但是 msg 还是被准确的改为0x10了, 其他参数都没问题.
这段代码逻辑简单, 其他线程就算出错也不会修改到线程堆栈里面的内容.
真搞不懂了..
bool MyNetMsgReceiver::onRecviveUdpMsg(UdpSocket* sock, char* msg, int length, sockaddr_in* fromAddr)
{
//DWORD temp[16] = {0};
ULONG data = sock->getUserData();
if (!data) return true;
if ((DWORD)msg < 0x1000)
{
__asm int 3h; //在这里的时候msg的值还是正常的
}
IMAccount* acc = g_ImAccMgr.getAccountObject(data);
if ((DWORD)msg < 0x1000)
{
__asm int 3h; //程序停在这里,此时mag的值被修改为0x10, 变成了一个错的指针
}
if (acc)
{
acc->handleUdpPacket(sock, msg, length, fromAddr);
}
return true;
}
//g_ImAccMgr.getAccountObject() 的代码
IMAccount* IMAccountMgr::getAccountObject(size_t objId)
{
IMAccount* acc = NULL;
EnterCriticalSection(&mCs);
AccountIter it = tbl.begin();
for (; it != tbl.end(); ++it)
if ((*it)->getObjeciId() == objId)
{
acc = (*it);
break;
}
LeaveCriticalSection(&mCs);
return acc;
}
是个随机性的错误, 程序运行几分到半个小时后才会触发 int 3h挺下来.
开始我以为是哪里的指针或数据越界了. 于是在函数里面加了个 DWORD temp[16]={0};
但是 msg 还是被准确的改为0x10了, 其他参数都没问题.
这段代码逻辑简单, 其他线程就算出错也不会修改到线程堆栈里面的内容.
真搞不懂了..
...全文
相关推荐
做Oracle数据库迁移,碰上了灵异的字符集问题,懵了
这个就是那个出现灵异现象的test.dmp文件 博文链接:https://rainbamboo.iteye.com/blog/215343
做一个恐怖、灵异的资讯类APP
NULL 博文链接:https://key232323.iteye.com/blog/2106149
灵异相机 GhostCam v1.9.4
灵异相机 GhostCam v1.9.4 版本:1.9.4软件语言:非中文软件类别:特效相机软件大小:8.23 MB适用固件:2.1及更高固件内置广告:有广告适用平台:Android 一款相机拍照软件,用它拍的照片会看到灵异现象! 【更新说明】 - 增加了新工具,“模糊”效果模糊鬼影 - 增加新的“黑與白”鬼效果顏色鬼轉換到黑白模式 - 添加新鬼! (例如修長的男人,令人毛骨悚然的女孩,等) - 新增“用戶等級”的盈利點,以獲得更多的排名
rails 常见灵异错误汇总
博文链接:https://sharpkit.iteye.com/blog/171519
帝国CMS仿五十一区灵异奇闻异事猎奇未解之谜网站模板.txt
帝国CMS仿五十一区灵异奇闻异事猎奇未解之谜网站模板.txt


