|
本帖最后由 lisu9789 于 2021-3-6 11:40 编辑
我最近用火绒安全软件取代了用了多年的360安全卫士和360杀毒。感觉还不错。 原因之一是360不能关闭一些腾讯的广告而火绒可以。但是我发现了一个很严重的问题。我的电脑开始出现随机的蓝屏。原因是内存管理出错。经过了两个星期的查找,我终于发现问题的根源-火绒的弹窗拦截。 关掉之后就没有蓝屏了。我可用下面的方法去重复测试到这个问题。
1. 关掉弹窗拦截;
2. 运行SpaceSniffer没有问题;
3. 打开弹窗拦截并让它栏截几个广告例如腾讯的新闻弹窗。
4. 运行SpaceSniffer几次-每次都会报不同的文件出错。但实际文件是好的。如果再继续起动其它软件就会引起随机的蓝屏。
我的分析是杀广告窗口的方法可能有问题。我不知道你们用什么方法去关闭弹窗的。如果直接去关一个不是你程序打开的window, 用这种方式会引起memory leak!一般比较安全的方法是post wm_close到那window让它自己去关闭。这种方法可能比较慢但安全。 希望你们的开发工程师能查一下。 关键的地方是Windows UI开发有一个很重要限制。这就是对于任何一个window,只有它的owner thread才能安全地更新它的UI。如果不遵守这规则,不可预测的memory leak就会发生。我估计我现在碰到的问题就是由于非owner thread去关window所致。
64-bit Windows 10 Pro N 20H2 OS build19042.804; i7-2700K 3.80GHz, 32GB DDR3 RAM
火绒安全软件 5.0.58.1
|
|