VS2010 VC/MFC 网络编程时遇到的问题:rep movsd ;N - move all of our dwords?

xiaojie10090 2012-05-28 09:53:14
我在用CAsyncSocket进行网络编程,结果这几天调试的时候老是出现:
LDSAMS1.0.exe 中的 0x0f2dc9c7 (msvcr100d.dll) 处最可能的异常: 0xC0000005: 读取位置 0x0c144000 时发生访问冲突
然后点击中断就会跳到memcpy.asm下的
Dword_align:
test edi,11b ;U - destination dword aligned?
jnz short CopyLeadUp ;V - if we are not dword aligned already, align

shr ecx,2 ;U - shift down to dword count
and edx,11b ;V - trailing byte count

cmp ecx,8 ;U - test if small enough for unwind copy
jb short CopyUnwindUp ;V - if so, then jump

rep movsd ;N - move all of our dwords //箭头就指在了这个地方

jmp dword ptr TrailUpVec[edx*4] ;N - process trailing bytes

愁人啊,高手帮忙啊!
...全文
1102 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
pingping91 2014-11-07
  • 打赏
  • 举报
回复
也遇到这个问题了,也没越界什么的啊
auvpinkie 2013-05-14
  • 打赏
  • 举报
回复
同样的问题,怎么解决?
labixiaoba 2012-12-13
  • 打赏
  • 举报
回复
同样的问题,无法解决
sryteawrt 2012-06-01
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

引用 1 楼 的回复:

看此时的堆栈,回退到你代码处,
一般就是越界,无效内存句柄


我现在又发现了一个问题,就是我用下面的方法关闭“登录”对话框(下面这段程序我写在了CAsyncSocket中的OnReceive函数中,因为是在网络通信中接收到登录成功之后才进行的一些操作,若用户名和密码正确,登录成功,则关闭登录对话框,打开主对话框)

//获取登录对话框指针
CLDS……
[/Quote]Debug调试啊 哪句代码出错一眼不就看出来了么?》
xiaojie10090 2012-05-28
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

查看callstack,然后回溯到你的代码函数
[/Quote]

也问一下您,呵呵,我新发现的问题在我给二楼的回复上,您也给看一下吧,多谢了,呵呵
xiaojie10090 2012-05-28
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

看此时的堆栈,回退到你代码处,
一般就是越界,无效内存句柄
[/Quote]

我现在又发现了一个问题,就是我用下面的方法关闭“登录”对话框(下面这段程序我写在了CAsyncSocket中的OnReceive函数中,因为是在网络通信中接收到登录成功之后才进行的一些操作,若用户名和密码正确,登录成功,则关闭登录对话框,打开主对话框)

//获取登录对话框指针
CLDSAMS10App* pApp=(CLDSAMS10App*)AfxGetApp();
CLoginDlg* pDlg=(CLoginDlg*)pApp->m_pMainWnd;
pDlg->PostMessage(WM_CLOSE);
CMainDLG dlg; //这个地方打开主对话框MainDlg
if(!dlg.DoModal())
{
return ;
}

现在的操作是这样的,登录对话框(LoginDlg)输入用户名和密码,点击确定,登录成功,然后登陆对话框关闭进入主对话框(MainDlg),现在没问题,然后在主对话框点击“注销”按钮重新返回登陆对话框(这个地方也是用的模态对话框,将主对话框关闭,调出登录对话框),然后再在登陆对话框输入用户名和密码,再点击确定,登录是成功了,但是我发现,这时登陆对话框并没有关闭,主对话框也打开了我怀疑内存冲突就出现在这一次的登陆对话框没有关闭上,当我第三次再进行同样的操作的时候,我提出的这个问题就出现了,访问冲突了!

请问这是怎么回事呢?为什么第二次没有关闭就弹出了主对话框?是不是就是这个地方的问题?该怎么改?请大神多多指点!
oyljerry 2012-05-28
  • 打赏
  • 举报
回复
查看callstack,然后回溯到你的代码函数
zgl7903 2012-05-28
  • 打赏
  • 举报
回复
看此时的堆栈,回退到你代码处,
一般就是越界,无效内存句柄

18,356

社区成员

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

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