整理一些工作中遇到奇奇怪怪的问题

Published: 2019-11-25

Tags: 笔记

本文总阅读量

“这代码为什么工作?为什么不工作?”

【2019-11-25】

和同事前一阵联调WebRTC的视频通信,前两个月调试到的进度是双人视频,最近有个三方视频的需求,需要做个演示例子,因为原理以前研究过,所以编写的主要就是注意下通信的流程,别产生异步,并且捋顺发起方响应方的各项操作

前期已经和同事研究过了WebRTC,后端我也写好了,现在页面调整以及逻辑的代码由同事来写,我来配合测试,并一起调试问题,于是就遇到一个很困扰的报错

同事的电脑使用Electron + WEB页面,显示视频是正常的,然而我电脑一启动就会遇到获取资源报错

测试进行不下去了,只有她的电脑正常,别说找几个电脑测试,第二个能调起摄像头的电脑都没有了

已知前提是

1,前两天双人视频通信是正常的

2,摄像头在同事电脑上是工作的

3,我电脑上的模拟WebCam的软件也会触发资源报错

4,我找了其它同事的两三台电脑都会遇到这一问题

以上结论也都是在初步的排错过程中整理出来的,排除了摄像头问题,排除了我电脑环境的问题,运行一些官网的示例,是没问题的,拿出以前的写得DEMO例子也开始报错,毫无头绪

种种迹象表明自己的电脑环境似乎出了问题,再进行了一些打包后的尝试后,发现转机,官网在线的例子是正常的,那就逐步调试,虽然有点麻烦,但一定能找到问题

1,Electron加载官网的例子【OK】

2,Electron加载官网的例子(本地网页)【OK】

到了此时,可以肯定的是代码哪里有些问题了,“但是代码以前是好使的啊?”,于是把我们写的DEMO和官网的例子逐行核对

最终定位到问题是一个参数不一致,官网例子没有请求音频,而我们的例子请求了音频...

至此,定位到了问题,但是没解决疑问

1,我的电脑软件模拟的摄像头是有声音的,但是采集不到音轨资源

2,同事电脑使用这个没声音的摄像头为什么能够工作,这对定位问题误导很大

3,前几天调试双人视频的时候,摄像头及软件模拟都没有报这个错误,问题就这样突然出现

这个问题几乎花费了一天的时间去调试与定位

【2019-11-21】

使用Rust编写了一个windows桌面小程序,打算用来做为中间件来预处理转发请求的

之后使用NSIS来制作一个小的安装包程序,打包之后的安装包只有1M多的大小

接下来就测试下安装卸载功能,问题就出在卸载时,程序还在运行,这个以往也遇到过,使用KillProcDLL插件,在卸载时触发删除掉指定进程

很快就参考以前的代码,进行打包测试,诶?

卸载后怎么程序还在,还能正常访问,难道是插件使用方式不对,还是权限缺失导致,脑子中闪现出好几种可能

在网络上搜索了一通大家的写法,发现没什么问题,可就是没办法停止程序

找原因安装卸载安装卸载,测试的头皮发麻

耽误大概两个小时,最后重启电脑,问题解决