无法定位程 序输入点于 msvcr t.dl l相关 问题解决方 法(图)
安全中国www.a n q n.c o m 更新时间:2009-10-21 00:32:44 责任编辑:池天
热点
我发现这个问题是在每次打开八戒桌面小工具时会提示“Deskwidget:DeskWidget.exe -无法找到入口无法定位程序输入点_except_handler4_common于动态链接库msvcrt.dll上” 遂上网查了资料。发现这是个系统性的问题。 以前八戒软件能正常使用不知道这段时间是卸载了什么软件还是装了什么东西导致八戒不能用了。
网上的方法如下可以解决每次弹出“无法定位”对话框的问题
这是由于sp3加载的驱动造成的只需要将C:\WINDOWS\system32\dwmapi.dl l重新命名一下即可以解决在system32中找到dwmap i.dl l他的标签居然表明来自V i s ta RTM试着把“dwmap i.dl l”重命名一下注改成任意文件名如dwmap.dl l 。问题解决。
不过我从没有修改飞信安装文件夹下的dwmap i.d l l却能正常使用飞信没有出现网上所说的每次弹出“无法定位”对话框的问题真的很奇怪。究竟是什么原因导致这个问题的呢为什么windows\system32下的dwmapi.dll动态链接库可以随便修改
这不会导致系统问题吗
也许下面的文章能解答一些疑问
原文地址http://windows.chinaitlab.com/administer/770224_2.html
浅谈Windows环境软件故障调试与分析
大家好我是Eric今天我将与大家一起分享一个软件故障的调试与分析案例希望给大家提供一个解决Windows下软件错误的基本分析思路和供参考的一类解决方法。看完本例您将会初步了解到Dll Entry Point错误的一些基本知识也将接触到像Winbdg、 Dependency Walker一类的专业调试、分析工具软件的基本使用在这里我也和大家一起分享并探讨。本例中出现错误的软件是中国移动飞信2008版客户端具体现象是每次双击图标启动该程序时总会收到一个错误信息对话框——标题为“FetionFX.exe - Entry Point Not Found” ,内容为“The procedure entry point _except_handler4_commoncould not be located in the dynamic link library msvcrt.dll. ” 。如下图所示
以前在台式机中文版Microsoft Windows XP Professional with Service Pace 2上使用这个客户端时并没有出现该问题但是今年9月份我将笔记本计算机的操作系统安装为Microsoft Windows XP Professional with Service Pace 3的英文版然后于10月初安装飞信客户端之后就一直存有这个问题直到今天我才有一块集中的空余时间来分析解决。之前我搜索过百度但是答案均是“系统缺少msvcrt.dll下载一个就好了”或者是“msvcrt.dll版本不正确下载一个替换即可” 为了图简便我也试过但是根本不奏效。可是我发现没有解决也可以正常使用飞信只是每次要弹出这个错误消息所以也没急着管。哈哈~幸好今天解决掉了心得是解决软件故障不能浮于表面欲发掘内在问题和根本原因还得自己架设环境手动分析 因为软件太多了错误的种类也太多了一切还是得具体情况具体分析阿~~下面我们一起来看看整个过程吧 全部的分析调试过程不止下面的这些但是经过解决这个问题 以下整理出来的思路应该是最简短并且能够找到问题原因的
首先我们让该问题重现即双击飞信客户端的桌面图标让其弹出该错误对话框。错误提示出现了我们先不急着点击“OK(确定)”按钮而是启动一个调试程序。 本例中使用著名的Microsoft Windbg工具进行调试分析然后在“File(文件)”菜单
中选择“Attach to a Process. . . (附加到一个进程)” 选择当前的飞信客户端的进程“FetionFX.exe” 。这里之所以要选择Attach to a Process就是因为我们要将调试器跟踪到当前这个产生错误的进程然后从内存中实时察看相关的线程堆栈甚至API函数的调用。 Windbg中还支持其他的几种类型的调试须根据具体情形按需选择。附加到该进程之后的结果如下图所示
然后我们可以在图中清晰地看到 当系统加载到“c:\Program Files\China Mobile\Fetion\dwmapi.dll”时挂起就是图中的"Warning: Break-in time out, suspending. "在Windows中的表现也就是弹出了上述的错误对话框并且我们还没有点击“确定”按钮于是程序暂时挂起。因此我们可以判断 FeionFX.exe启动时加载的位于“c:\Program Files\China
Mobi le\Fetion\” 目录下的dwmapi.dl l在执行某个函数过程的时候遇到了错误。那么究竟是什么样的函数呢根据错误对话框的信息我们可以初步猜测是MSVCRT.dll中的_except_handler4_common。于是我们需要查找一下当前进程中有关该过程的现状所以执行"x msvcrt!_except_handler*"命令返回的结果也在上图中的底部。在Windbg中 x是查找符号的命令可以用来查找全局变量的地址或过程的地址。 比如x kernel32!*显示Kernel32.dll中的所有可见变量数据结构和过程。 *号是通配符代替任意的字符串为了查找全部的我们需要使用该通配符。 其实如果你执行“xmsvcrt!_except_handler4_common”你会发现没有任何结果也就是找不到其实这也就是出现该错误的原因我们后文分析。因此退一步不输入"4_common"查找所有_except_handler过程
结果告诉我们进程中msvcrt.dll存有的过程有_except_handler2以及_except_handler3而恰恰没有_except_handler4。鉴于以上返回结果我们可以初步断定错误的起因是因为程序不能执行MSVCRT.DLL中的_except_handler4_common过程而且原因是当前缺少这个。此时我们需要借助Microsoft Dependency Walker进行辅助分析并且确认。
我们启动Microsoft Dependency Walker打开该dwmapi.dll可以发现该DLL文件的运行将会首先调用MSVCRT.DLL而且下图中也标示出来了在当前调用的MSVCRT.DLL中缺少一个函数"_except_handler4_common"这起好与我们看到的错误现象相以及Windbg分析的结果吻合。如下图所示
美得云怎么样?美得云好不好?美得云是第一次来推广软文,老板人脾气特别好,能感觉出来会用心对待用户。美得云这次为大家提供了几款性价比十分高的产品,美国cera 2核4G 15元/月 香港1核 1G 3M独享 15元/月,并且还提供了免费空间给大家使用。嘻嘻 我也打算去白嫖一个空间了。新用户注册福利-8折优惠码:H2dmBKbF 截止2021.10.1结束。KVM架构,99.99%高可用性,依托BGP...
舍利云怎么样?舍利云推出了6核16G超大带宽316G高性能SSD和CPU,支持全球范围,原价516,折后价200元一月。原价80美元,现价30美元,支持地区:日本,新加坡,荷兰,法国,英国,澳大利亚,加拿大,韩国,美国纽约,美国硅谷,美国洛杉矶,美国亚特兰大,美国迈阿密州,美国西雅图,美国芝加哥,美国达拉斯。舍利云是vps云服务器的销售商家,其产品主要的特色是适合seo和建站,性价比方面非常不错,...
【双十二】兆赫云:全场vps季付六折优惠,低至50元/季,1H/1G/30M/20G数据盘/500G流量/洛杉矶联通9929商家简介:兆赫云是一家国人商家,成立2020年,主要业务是美西洛杉矶联通9929线路VPS,提供虚拟主机、VPS和独立服务器。VPS采用KVM虚拟架构,线路优质,延迟低,稳定性强。是不是觉得黑五折扣力度不够大?还在犹豫徘徊中?这次为了提前庆祝双十二,特价推出全场季付六折优惠。...