内存错误

tdjdyq 2009-04-18 09:15:28
0041C309 __internal_malloc
0041C294 __internal_malloc
0041B9F5 ___org_malloc
0041B306 ___org_new
0040EF2E CTask::SetBlock(this=:074968D4, Length=-1)
0040663B CHttpChannel::OnConnect(this=:074DE38C)
0040656C CHttpChannel::Handle(this=:074DE38C)
0040DB59 CResource::Down(this=:02D95824)
0040D33B CResource::Handle(this=:02D95824, pTask=:074968D4)
0040EC06 CTask::OnDownload(this=:074968D4)
0040EB03 CTask::Handle(this=:074968D4)
004093B1 CManager::nHandle(this=:023D0004)
0040A497 CManagerPool::Handle(this=:004630E0)
0040A859 CManagerHandler::Handle(this=:00E7A2B4)
0041335C CHandlerWorkerThread::Execute(this=:02BB5E90)
00417236 icl::CThreadImpl::Execute(this=:02BB5E94)
0041738B icl::ThreadExecProc(pArg=:02BB5E94)
7C82482F C:\WINDOWS\system32\kernel32.dll
这个是程序执行流程,这个报错,大家看看能不能知道是什么原因引起来的呢?
...全文
165 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
tdjdyq 2009-04-18
  • 打赏
  • 举报
回复
bool CTask::SetBlock(int64 Length)
{
ReadFile();
m_pManger->GetFileInfo().nFileLength = Length;
m_pBlock=new CBlock(m_pManger->GetFileInfo().nFileStart,m_pManger->GetFileInfo().nFileLength,0);
m_isSetBlock = true;
return true;
}
tdjdyq 2009-04-18
  • 打赏
  • 举报
回复
代码怎么帖呢,太多了
  • 打赏
  • 举报
回复
又不帖代码,只能笼统的说,就是指针指向了不该指向的地方~~
old-six-programmer 2009-04-18
  • 打赏
  • 举报
回复
从出错信息看,应该是new操作的运行时错误
很可能是length=-1造成的
你仔细跟踪一下new的size参数
使用前先判断一下
tdjdyq 2009-04-18
  • 打赏
  • 举报
回复
m_pBlock=new CBlock(m_pManger->GetFileInfo().nFileStart,m_pManger->GetFileInfo().nFileLength,0);
编译器提示这样出错,但是我认为是个假象
tdjdyq 2009-04-18
  • 打赏
  • 举报
回复
提示错误是,一个指针访问一个非法地址
「已注销」 2009-04-18
  • 打赏
  • 举报
回复
看起来是在一个线程里申请,在另一个线程里释放内存?
或在不同的模块里。
ltc_mouse 2009-04-18
  • 打赏
  • 举报
回复
0040EF2E CTask::SetBlock(this=:074968D4, Length=-1)
------------------------
SetBlock是做什么的呢?是不是参数Length=-1导致了崩溃?
niehaidie 2009-04-18
  • 打赏
  • 举报
回复
HENHAOA
  • 打赏
  • 举报
回复
楼主帖代码,很可能是多线程访问内存出错。
morris88 2009-04-18
  • 打赏
  • 举报
回复
这就好比:我有一个程序,出错了,请问大家如何解决这个问题!
mengde007 2009-04-18
  • 打赏
  • 举报
回复
貌似不好判断;
qqwx_1986 2009-04-18
  • 打赏
  • 举报
回复
代码和错误信息你一个都没贴
zgjxwl 2009-04-18
  • 打赏
  • 举报
回复
这怎么看的?
liliangbao 2009-04-18
  • 打赏
  • 举报
回复
帮顶~
最好还是贴出代码~
tdjdyq 2009-04-18
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 ltc_mouse 的回复:]
是必然错误吗? 断点到SetBlock函数,然后单步执行看看~
ReadFile成功执行完了吗?m_pManger->GetFileInfo()这些变量也没有什么异常吧
[/Quote]

不是必然错误,是运行一段时间后
qiance 2009-04-18
  • 打赏
  • 举报
回复
单步调试下
yangch_nhcmo 2009-04-18
  • 打赏
  • 举报
回复
设个断点,debug一下
ltc_mouse 2009-04-18
  • 打赏
  • 举报
回复
是必然错误吗? 断点到SetBlock函数,然后单步执行看看~
ReadFile成功执行完了吗?m_pManger->GetFileInfo()这些变量也没有什么异常吧
tdjdyq 2009-04-18
  • 打赏
  • 举报
回复
//-----------------------------------------------------------------
// 构造函数
//-----------------------------------------------------------------
CBlock::CBlock(int64 Start,int64 End,int State)
{
m_nStart=Start;
m_nSize = 0;
m_bSetBlockLenFlag = false;
m_nEnd=End;
m_nCodeState = 0;
m_bBlockState = false;
if(Start == 0)
{
m_bBlockPointContinue = false;
}
else
m_bBlockPointContinue = true;
if(m_nEnd > 0)
{
m_nSize=m_nEnd-m_nStart;
}
m_nState=State;
}

加载更多回复(2)

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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