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

0xC0000139: Entry Point Not Found的解决方法

(2016-04-25 12:16:22)
标签:

0xc0000139

entrypointnotfound

gflags

分类: 计算机与 Internet
  今天遇到这样一个问题,启动程序,Crash,VS报错Exception thrown at 0x00007FFC5337C4E0 (ntdll.dll) in Target.exe: 0xC0000139: Entry Point Not Found.
   莫名啊。怎么回事,这个是DLL加载时的另一类问题,就是有一个输入函数找不到。网上查找资料,发现一篇用GFlags的有用的资料。需要做如下步骤。
https://thetweaker.files.wordpress.com/2013/06/062213_0756_entrypointn2.png?w=640Entry Point Not Found的解决方法" TITLE="0xC0000139: Entry Point Not Found的解决方法" />
然后再启动程序,会报如下错
3d24:3490 @ 273201812 - LdrpNameToOrdinal - WARNING: Procedure "MissFunc" could not be located in DLL at base 0x00007FFC15BC0000.
3d24:3490 @ 273201812 - LdrpReportError - ERROR: Locating export "" for DLL "TargetDLL" failed with status: 0xc0000139.
Exception thrown at 0x00007FFC5337C4E0 (ntdll.dll) in Target.exe: 0xC0000139: Entry Point Not Found.
去查找MissFunc就可以了,这个应该是Target.dll其中一个导入表引入的函数,再去对应导入的库中去查看输出表,会发现没有MissFunc这项。在我的例子中,是由于MissFunc改了签名如
本来叫MissFunc(int)
现在叫MissFunc(int, bool)
这就肯定有问题了,需要重新编译才行。

0

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

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

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

新浪公司 版权所有