【求助】单步调试不死机,.exe一运行就死~ 怎么回事??

利威尔-斯密斯 2013-07-24 01:49:47
代码很多,没法传上来
简单点说,就是我建立了一个mfc的工程,调用dll的某个接口
接口需要传入一块内存,和一个内存长度,然后显示
单步调试的时候,一切正常(加不加断点都正常),但是一运行生成出来的.exe 10次有9次死在这个接口处,但是dll的源代码 我并没有。

这个接口在刚刚启动的时候会执行一次,当时是默认的内存地址,长度假设为20000,而死机时,是我第二次调用该接口,传入的地址空间变化了,长度假设为30000。


现在就是想不通,为什么单步运行时候没问题,一运行.exe 就死机那,而且还不是100%次次死

...全文
133 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
追风者201324 2013-07-25
  • 打赏
  • 举报
回复
引用 4 楼 u010967121 的回复:
[quote=引用 3 楼 ljb882009 的回复:] 因为调试的时候你等待的时间那个任务已经完成了所以不会崩溃。 直接运行exe任务还没有完成就访问了,所以会导致这个现象,仔细检查下耗时的地方,做一下判断和等待。
所说的等待 我使用sleep 可以吗?[/quote] 你先要确定哪个地方耗时才可以Sleep
琅琊榜 2013-07-24
  • 打赏
  • 举报
回复
多线程的吧,估计死锁了,输出一些msgbox,看看卡在那里了?
  • 打赏
  • 举报
回复
引用 3 楼 ljb882009 的回复:
因为调试的时候你等待的时间那个任务已经完成了所以不会崩溃。 直接运行exe任务还没有完成就访问了,所以会导致这个现象,仔细检查下耗时的地方,做一下判断和等待。
所说的等待 我使用sleep 可以吗?
追风者201324 2013-07-24
  • 打赏
  • 举报
回复
因为调试的时候你等待的时间那个任务已经完成了所以不会崩溃。 直接运行exe任务还没有完成就访问了,所以会导致这个现象,仔细检查下耗时的地方,做一下判断和等待。
  • 打赏
  • 举报
回复
引用 1 楼 xianglitian 的回复:
是不是接口有需要延时准备的操作
尝试过 sleep(200) 但是还是死
向立天 2013-07-24
  • 打赏
  • 举报
回复
是不是接口有需要延时准备的操作

15,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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