番禺建设网站报价,郑州装修公司排名,动效网站,做商演任务的网站目录
1、问题说明
2、修改了代码#xff0c;但安装版本还是有问题
3、使用PE信息查看工具查看音视频库文件#xff08;二进制#xff09;的时间戳
4、使用Beyond Compare比较两个库文件的差异
5、找到原因
6、最后 C软件异常排查从入门到精通系列教程#xff08;专栏…目录
1、问题说明
2、修改了代码但安装版本还是有问题
3、使用PE信息查看工具查看音视频库文件二进制的时间戳
4、使用Beyond Compare比较两个库文件的差异
5、找到原因
6、最后 C软件异常排查从入门到精通系列教程专栏文章列表欢迎订阅持续更新...https://blog.csdn.net/chenlycly/article/details/125529931C/C基础与进阶专栏文章持续更新中...https://blog.csdn.net/chenlycly/category_11931267.htmlVC常用功能开发汇总专栏文章列表欢迎订阅持续更新...https://blog.csdn.net/chenlycly/article/details/124272585C软件分析工具从入门到精通案例集锦专栏文章持续更新中...https://blog.csdn.net/chenlycly/article/details/131405795开源组件及数据库技术专栏文章持续更新中...https://blog.csdn.net/chenlycly/category_12458859.html网络编程与网络问题分享专栏文章持续更新中...https://blog.csdn.net/chenlycly/category_2276111.html 最近在项目中使用了PE信息查看工具和Beyond Compare文件比较工具排查了一个dll库文件版本不对的问题正好借此案例给大家介绍一下这两个小工具的使用。 1、问题说明 某天测试人员在一台Win7电脑上测试客户端软件时发现软件在SIP协议下入会后看不到视频于是找到音视频模块的同事来排查。通过查看打印得知是在使用D3D绘制视频图像时绘图接口返回失败所以视频图像没有绘制上去。于是修改了一下代码在D3D绘图失败时自动切换到其他模式。
2、修改了代码但安装版本还是有问题 维护音视频模块的小伙修改了一下代码本地临时编译了一个Release版本的dll库发给测试同事让其验证一下还有没有问题。如果没问题就走发布流程提交代码然后编译代码然后将生成的.lib和.dll发布到产品代码流上来。 测试同事用临时库验证了一下入会后可以看视频了所以修改的代码是有效的。音视频模块的同事提交代码并发起编译让编译机编译版本编译完成后将库发布过来。然后我们这边再编译代码重新打程序的安装包然后让测试同事安装新的安装包程序。测试同事安装新的安装包后发现入会后还是看不到视频还是有问题。 在这里给大家重点推荐一下我的几个热门畅销专栏
专栏1该专栏订阅量接近350个有很强的实战参考价值广受好评专栏文章持续更新中预计更新到200篇以上
C软件调试与异常排查从入门到精通系列文章汇总https://blog.csdn.net/chenlycly/article/details/125529931 本专栏根据近几年C软件异常排查的项目实践系统地总结了引发C软件异常的常见原因以及排查C软件异常的常用思路与方法详细讲述了C软件的调试方法与手段以图文并茂的方式给出具体的实战问题分析实例带领大家逐步掌握C软件调试与异常排查的相关技术适合基础进阶和想做技术提升的相关C开发人员 专栏中的文章均是通过项目实战总结出来的通过项目实战积累了大量的异常排查素材和案例有很强的实战参考价值专栏文章还在持续更新中预计文章篇数能更新到200篇以上 专栏2
C/C基础与进阶专栏文章持续更新中...https://blog.csdn.net/chenlycly/category_11931267.html 以多年的开发实战为基础总结并讲解一些的C/C基础与进阶内容以图文并茂的方式对相关知识点进行详细地展开与阐述专栏涉及了C/C领域的多个方面的内容同时给出C/C及网络方面的常见笔试面试题并详细讲述Visual Studio常用调试手段与技巧 专栏3
开源组件及数据库技术https://blog.csdn.net/chenlycly/category_12458859.html 以多年的开发实战为基础分享一些开源组件及数据库技术 3、使用PE信息查看工具查看音视频库文件二进制的时间戳 难道发布的库的版本有问题于是先用PE工具打开mediasdk.dll二进制文件查看二进制文件的时间戳编译生成时间如下所示 文件的修改时间为2023/12/08 13:26:52确实就是这个时间点编译的所以从二进制文件的编译生成时间上看是没问题的。 注意不能把电脑中文件的修改时间当成二进制文件的生成时间文件修改时间仅仅表示在本机器上操作的时间应该使用专用的PE信息查看工具去查看文件生成时的时间戳。 这个地方说一下PE查看工具PeViewer和MiTeC EXE Explorer 我这边之前使用的PE信息查看工具叫PeViewer以前排查问题时用该工具打开64位二进制文件发生了闪退。后来在网上搜到了MiTeC EXE Explorer工具这个工具兼容性比较好打开64位二进制文件没有问题。 4、使用Beyond Compare比较两个库文件的差异 既然时间对的上为啥之前验证时没问题使用新版本的安装包安装后的软件还有问题呢于是让测试同事使用Beyond Compare软件比较一下音视频开发同事给的mediasdk.dll和新版本安装目录中的mediasdk.dll文件看看二者有没有区别。 对于Beyond Compare默认是Text Compare模式需要切换到Hex Compare二进制比较模式。具体切换入口为 在菜单栏中点击Session然后在弹出的菜单中点击Compare in New View Using然后在弹出的子菜单中点击Hex Compare这样就切换到二进制内容比较模式了如下所示 比较了一下两个mediasdk.dll文件确实有很多不同的地方 但最近两天没修改该模块的代码两个应该不会有差异的所以还是mediasdk.dll库的版本不对。
5、找到原因 目前处理这个问题的音视频开发同事是刚毕业没多久的新人可能相关代码环境还是不熟悉是不是只修改了每日流没有修改封闭流我们当前产品就要发布了使用的是音视频模块的封闭流版本很有可能是没修改封闭流导致的。于是亲自到这个新同事的机器上看了一下确实是只修改了每日流没修改封闭流的代码。修改一下重新发布就可以了。
6、最后 本文通过项目中遇到的库文件版本问题介绍了PE信息查看工具PeViewer和MiTeC EXE Explorer以及文件比较工具Beyond Compare。这些小工具虽然比较小但在日常工作中还是挺有用的所以在这里给大家分享一下。