首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Regsvr32在Windows7上崩溃

Regsvr32在Windows7上崩溃
EN

Stack Overflow用户
提问于 2010-09-08 16:10:04
回答 2查看 1.4K关注 0票数 1

我有一个x64 (64位) COM。当尝试在Windows7上向Regsvr32注册时- Regsvr32崩溃。

Regsvr32是在cmd下以管理员权限运行的(“以管理员身份运行”),我尝试了32位和64位cmd.exe和regsvr.exe,甚至是两台不同的PC,但总是一样的。

调试崩溃的Regsvr32报告发生缓冲区溢出,可能是什么问题?

尽管如此,但编译为Win32 (32位)运行良好,并且在注册时没有任何问题

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-09-08 16:46:03

当编译为64位时,该动态链接库中的DllRegisterServer()实现最有可能崩溃。

如果您有DLL的源代码,最好的办法是在实现代码执行时对其进行调试,并解决问题的根本原因。这可以是当代码不是以位不可知(32位/64位可移植)的方式编写时通常发生的任何错误。

票数 1
EN

Stack Overflow用户

发布于 2010-09-08 16:37:51

显然,问题是你有一个缓冲区溢出。现在,Win32和Win64进程的内存布局将有所不同,特别是使用ASLR。因此,您不能肯定地说缓冲区溢出将对Win32产生相同的影响。对于像Regsvr32这样的东西来说尤其如此,它会调用DLL中的一个函数并退出。这限制了缓冲区溢出损坏数据的时间。

当然,解决方案就是修复缓冲区溢出。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3665736

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档