加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

无法定位程序输入点_except_handler4_common于动态链接库msvcrt.dll上

(2017-03-22 20:18:18)
分类: 计算机程序设计
今天把一个在win7上写的程序移到 xp 系统上,然后报错无法定位程序输入点_except_handler4_common于动态链接库msvcrt.dll上。

看了网上很多说法,说是 dwmapi.dll 引用了 msvcrt.dll 中的_except_handler4_common方法,通过dependens walk 的确可以看到 dwmapi.dll中引用了 _except_handler4_common 这个函数。msvcrt.dll 的xp版本中并没有_except_handler4_common  这个函数,所以会出错。

提示的解决方案也是要么删掉 dwmapi.dll 要么就是改名。但是这都治标不治本。根本不是问题的根源。https://wenku.baidu.com/view/8279d7f4f61fb7360b4c65ba.html 说的稍微全面点。
正常来说也是用它说的方法来解决这个问题。

我使用windbg调试的时候发现 是prosys.dll 这个动态链接库使用了 _except_handler4_common 这个函数。刚开始的时候提示的 是 缺少 prosys.dll  ,然后自己懒得动手下载prosys 就直接把win7的里面的这个dll 拷贝过来了,然后各种操作后就提示了 “无法定位程序输入点_except_handler4_common于动态链接库msvcrt.dll上”。

其实问题的根源在于自己使用了错误版本的prosys.dll 这个文件。


所以如果你也遇到了这个问题,或者类似的这个问题,而网上教你的方法解决不了的时候,请记得用windbg调试下,看看到底是因为什么原因引起的。

不过大概率就是dll的版本问题,新版本引入了一些新的方法,但是老的版本没有,以至于找不到该方法。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有