应用程序运行7、8个小时后弹出错误框,急请高手帮忙解决!!!在线等!

windy2004 2004-07-11 01:53:12
我的程序在运行了7、8个小时后弹出错误框:
“0x1f6d8279”指令引用“0xif456e10”内存。该内存不能为“written”。
不知道是什么原因在运行7、8个小时后才出现这种情况。
程序要求能一直稳定的运行,请教各位高手怎样才能解决这种不稳定的状况?
...全文
162 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
满天飞飞 2004-07-11
  • 打赏
  • 举报
回复
有可能还没处理完,下一个消息就又到达了,这样会不会有问题呢?
sevencat 2004-07-11
  • 打赏
  • 举报
回复
可能还有一种情况,那边已经关闭了,这时候receive函数返回值可能为0?我对CSOCKET的一些实现有时候搞不清楚,这时候可能你加的是一个NULL值。
braversmmu 2004-07-11
  • 打赏
  • 举报
回复
怎么解决内存泄漏?
iorikingdom 2004-07-11
  • 打赏
  • 举报
回复
多半是内存泄漏
sevencat 2004-07-11
  • 打赏
  • 举报
回复
delete [] pBuf;
这个在VC里面有[]和没[]效果是一样的,我想可能有一些内存汇漏吧。
PiggyXP 2004-07-11
  • 打赏
  • 举报
回复
那没有关系,我想错误就在这里了
windy2004 2004-07-11
  • 打赏
  • 举报
回复
那跟我那个dorecord函数中用了pBuf作形参有没有关系?
PiggyXP 2004-07-11
  • 打赏
  • 举报
回复
如果是

char* pBuf = new char(1);
释放的时候这样 delete pBuf;

如果是 char* pBuf = new char[1];
释放就要这样 delete [] pBuf

^_^
PiggyXP 2004-07-11
  • 打赏
  • 举报
回复
........

很明显的错误,释放的句子应该这样写

delete [] pBuf;

C++基本语法的问题 ^_^

PiggyXP 2004-07-11
  • 打赏
  • 举报
回复
小猪大侠来得太好了,等你很久了

===============================================================

我天天都在啊-_-b 再说有急事直接给我发消息就好了^_^ 不过我可不是大侠

帮你看看.....
windy2004 2004-07-11
  • 打赏
  • 举报
回复
void CTalkDlg::OnReceive()
{
char* pBuf = new char[1025];
int nBufSize = 1024;
int nReceived;
CString strReceived;

// receiving message
nReceived = m_sConnectSocket.Receive( pBuf, nBufSize );

if( nReceived != SOCKET_ERROR )
{
pBuf[nReceived] = '\0';

strReceived = pBuf;
m_listReceived.AddString(strReceived);
UpdateData(FALSE); // put data to diaglog window

if(m_cmbType.GetCurSel( ) == 0 ) // server mode
DoRecords(pBuf);

}
else
{
AfxMessageBox( "Receive Fail!", MB_OK|MB_ICONSTOP );
}
delete pBuf;
}
小猪大侠来得太好了,等你很久了.
你的意思是不是说:我的这个pBuf已经释放掉了,但我在dorecords函数中仍然用了他。所以出错?
那为什么是运行了那么久之后才出现的呢?
PiggyXP 2004-07-11
  • 打赏
  • 举报
回复
一般就是你的资源已经释放了以后

可是你还在你的代码里面引用它了,就会出现这样的错误
jackion31 2004-07-11
  • 打赏
  • 举报
回复
不知道你程序中是否有文件输出操作,如果有类似的操作,你看一下分配的内存是否足够,上次我也遇到过这样的问题,我那个程序有的时候运行几天没问题,但有时几个小时就出错误了。还是内存使用上的问题,多检查一下,可以考虑多输出一些调试信息,以方便确认出错的位置
windy2004 2004-07-11
  • 打赏
  • 举报
回复
zzwu(未名) :
不太明白你的意思,能否清楚一点?
zzwu 2004-07-11
  • 打赏
  • 举报
回复
是否把数据写入code(代码)段去了?
windy2004 2004-07-11
  • 打赏
  • 举报
回复
0x1f456e10
needways 2004-07-11
  • 打赏
  • 举报
回复
0xif456e10?
RockHwnd 2004-07-11
  • 打赏
  • 举报
回复
多做点output看看代码问题发生在哪一行...再按照这个去找问题

18,357

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧