为什么MFC应用程序在加密硬盘驱动器环境中表现得很神秘

为什么MFC应用程序在加密硬盘驱动器环境中表现得很神秘,mfc,Mfc,我正在处理一个bug,其中我有一个MFC应用程序,当安装Sophos Protect硬盘加密时,它会在中执行奇怪的操作。我很抱歉在这里说得这么含糊,但我在办公室之外写这封信,所以这都是出于我糟糕的记忆 我注意到三件事: AfxGetResourceHandle不返回一致的资源句柄。有一种情况,我们尝试加载字符串资源,由于某种原因,我们从该方法获得的资源句柄与所有其他Sting不同 无法构造CDocumentTemplate。有一个跟踪错误,我想不起来了。明天我在的时候会编辑和发布 此行为似乎在项

我正在处理一个bug,其中我有一个MFC应用程序,当安装Sophos Protect硬盘加密时,它会在中执行奇怪的操作。我很抱歉在这里说得这么含糊,但我在办公室之外写这封信,所以这都是出于我糟糕的记忆

我注意到三件事:

AfxGetResourceHandle不返回一致的资源句柄。有一种情况,我们尝试加载字符串资源,由于某种原因,我们从该方法获得的资源句柄与所有其他Sting不同

无法构造CDocumentTemplate。有一个跟踪错误,我想不起来了。明天我在的时候会编辑和发布

此行为似乎在项目的VisualStudio2005版本中有所体现,但在VisualStudio2008版本中没有。不幸的是,移动到2008年版本不是一个选项

如果我使用调试器一步一步地进行调试,那么这个bug并不总是可以复制的。此外,打开调试消息框会改变行为,这使我认为MFC事件的处理方式存在某种竞争条件,但我不确定如何才能确定,甚至不知道如果我这样做了,我能做些什么

我认为应用程序运行异常有一些潜在的原因,但我发布的更多的是症状。谁能想到我应该检查什么


我已经在测试环境中运行了Windows update,以确保所有内容都是最新的,并且我在procmon中检查了该过程,以查看磁盘加密内容是否会妨碍并与文件冲突-看起来不是这样,但当我们的应用程序访问临时目录中与Sophos相关的路径时,它似乎确实以某种方式参与其中

如果您的代码是多线程的(我认为是),因为您提到了竞争条件的可能性,那么解密延迟可能会暴露并发缺陷。您可能希望尝试在网络共享或类似的慢速访问设备上运行应用程序,以查看是否出现类似的问题。

结果表明,防病毒软件正在以防病毒软件的资源句柄覆盖应用程序的资源句柄的方式注入自身。恶心

可能是加密导致的磁盘访问速度减慢,改变了一些有缺陷的线程代码的时间。