首页
社区
课程
招聘
[求助]cad2008x86版安装在x64系统上内存管理问题。
发表于: 2019-2-2 16:59 3226

[求助]cad2008x86版安装在x64系统上内存管理问题。

2019-2-2 16:59
3226
该问题已经困惑很久,比如打开一个大文件,别人只用1.5G就可以,2008可能会占用超过3.9G然后挂掉。
我研究是好几个月(其实是好几个问题归纳),发现最重要的acdb17.dll在x86、x64系统上虽然基址一样,但x64在中间硬生生的插入一段30h的段,也就是部分代码往后移了0x30,当然这也不是什么大问题,像ja自动换成jnb,我也不管。但我发现它很重要的内存管理类AcHeapOperators,它在打开某个ole对象时,分配内存不足,明明要0x24E680个字节和memcpy,申请的首地址竟然是0xFFE34DA1,加起来超过32位了。导致堆栈溢出。然后跳到一个死循环(真的很奇怪,怎么有那么巧的事呢,我想堆栈上的数据也不完全是指向代码区的啊。)
想测试的话可以用insert命令把附件插入到图纸当中。直接打开还是没有问题的。

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

上传的附件:
收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 83
活跃值: (1087)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
2
没看懂 啥玩意
2019-2-11 08:55
0
游客
登录 | 注册 方可回帖
返回
//