近日测试同事反馈,我们的C++客户端软件登录后显示一直连不上会议服务器,于是使用一些软件工具详细地分析了一下,最终发现是底层dll库版本不一致导致的。今天就分享一下这个问题的详细排查过程。
1、初步分析
软件登录后显示一直连不上会议服务器,如下所示:
查看了底层的打印日志,软件一直没有调用注册服务器的接口,所以一直显示连不上服务器。
这个有点奇怪,查看上层的打印,已经调用注册的接口了,为啥底层打印中没有调用最终的注册接口呢?软件从上到下有多个模块,有多个逻辑分层,应该是中间模块出问题了,没有将最终的注册请求投递下去。
初步怀疑是与注册相关的rtcservice.dll库在软件启动时没有加载起来导致的,注册服务器的消息要经过这个库投递到底层去的,如果这个库没启动起来,注册服务器流程就会中断的。
2、使用Process Explorer查看到rtcservice.dll没有启动起来
于是使用Process Explorer工具查看了一下我们软件进程加载的dll库列表,看看rtcservice.dll库到底有没有加载起来。
将Process Explorer启动起来后,点击工具栏中的View Dlls/View Handles按钮
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |