使用Process Explorer和Dependency Walker定位dll库动态启动失败的问题(常 ...

打印 上一主题 下一主题

主题 534|帖子 534|积分 1602

       近日测试同事反馈,我们的C++客户端软件登录后显示一直连不上会议服务器,于是使用一些软件工具详细地分析了一下,最终发现是底层dll库版本不一致导致的。今天就分享一下这个问题的详细排查过程。
1、初步分析

       软件登录后显示一直连不上会议服务器,如下所示:

查看了底层的打印日志,软件一直没有调用注册服务器的接口,所以一直显示连不上服务器。
       这个有点奇怪,查看上层的打印,已经调用注册的接口了,为啥底层打印中没有调用最终的注册接口呢?软件从上到下有多个模块,有多个逻辑分层,应该是中间模块出问题了,没有将最终的注册请求投递下去。
       初步怀疑是与注册相关的rtcservice.dll库在软件启动时没有加载起来导致的,注册服务器的消息要经过这个库投递到底层去的,如果这个库没启动起来,注册服务器流程就会中断的。
2、使用Process Explorer查看到rtcservice.dll没有启动起来

       于是使用Process Explorer工具查看了一下我们软件进程加载的dll库列表,看看rtcservice.dll库到底有没有加载起来。
       将Process Explorer启动起来后,点击工具栏中的View Dlls/View Handles按钮

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

罪恶克星

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表