gpt4 book ai didi

防病毒程序阻止的 Delphi 程序

转载 作者:行者123 更新时间:2023-12-03 14:33:38 25 4
gpt4 key购买 nike

关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。












想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。

7年前关闭。




Improve this question




我有一段代码试图在一秒钟内将许多文件写入磁盘。但是,由于我安装了 Kaspersky Anrivirus 2011,它失败了。

Stream:= TFileStream.Create(sName, fmCreate); 

该代码完全适用于卡巴斯基 2010,如果我禁用它的扫描仪,也适用于卡巴斯基 2011(它不能从内存中完全卸载 - 除非它被卸载)。如果(卡巴斯基 2011 正在运行并且)我缓慢地写入磁盘,该代码也有效。所以它显然不够快来处理我的磁盘请求。

我得到的错误是 EFCreateError('无法创建 xxx 文件 blablabla')。错误是随机的。大多数文件都写入磁盘。大约 10% 失败。

我试图获得支持,但无法在卡巴斯基找到真正的人与之交谈。他们所谓的“支持”实际上是一个常见问题数据库。当然,它谈到了如何安装产品和相关的东西。没有关于编程相关的问题。有任何想法吗?

PS:这对整个Delphi社区都有影响!如果使用 KIS 2011 作为防病毒软件,我们所有的客户都将无法使用 Delphi 软件。目前我建议我的用户禁用他们的防病毒软件,但我需要一个真正的解决方案。

如果有 KIS 2011 的人可以确认问题,那就太好了。只需创建一个使用 TFileStream 将 200 个小文件写入磁盘的小程序。

更新:
  • 仅当文件不存在且已创建(创建而不是覆盖)时才会出现问题。
  • 类似报告:https://forums.embarcadero.com/thread.jspa?threadID=32751&tstart=15
  • 类似报告:http://forum.kaspersky.com/index.php?showtopic=120561
  • 我想到的一个可能的解决方案是检测 KIS 是否正在运行,如果是,则在每次写入磁盘后延迟。或者至少,让用户知道可能存在问题。有人知道如何检测服务是否正在运行吗?
  • 我添加了 650 毫秒的延迟(在每个文件创建之后)并且错误仍然存​​在)。所以不是关于你写入磁盘的速度有多快,而是关于你写了多少文件。
  • 刚刚卸载了KIS 2011。问题不再出现。
  • 刚刚重新安装了旧的 KIS 2010。该错误仍然存​​在,但很少出现(大约每 300 个文件而不是 KIS 2011 中的大约 30 个)。
  • 该问题在第二台计算机上得到确认。
  • 新闻:崩溃出现在 TFileStream.Create 中,但它可能是由之前调用的函数引起的:TestWriteAccess。如果我禁用此功能,则 TFileStream.Create 不再失败。嗯,这不会改变太多。无论哪一行代码产生错误,当卡巴斯基运行时,程序仍然无法(随机)将文件写入磁盘。
  • 仍在等待卡巴斯基真人的回复...
  • 从卡巴斯基支持收到更多自动回复(我向多个国家/地区的支持发送了电子邮件)。全部指向常见问题解答数据库。
  • 我将我的状态从卡巴斯基粉丝(和客户)更改为卡巴斯基仇恨者,因为我终于从卡巴斯基支持人员那里收到了一个真实的人的答复,这很简单,令人讨厌。

  • 要测试代码,请尝试在循环中使用代码,以创建 1000 个文件。该程序创建了一堆文件(随机数),然后在 StreamFile:= TFileStream.Create 处失败。
    更新:这个问题可以通过在创建每个文件后输入一个小的延迟来解决。
    https://docs.google.com/forms/d/1H3_O1z1iEqfh9ZT9u3B0R1tGEj-Hc9o7rAE0LKPr33Y

    2013更新

    从今天下午开始(更新后)KIS 与 Delphi 发生冲突。
    每次我编译一个项目时,KIS 都会达到 100% 的 CPU 利用率。我将不得不卸载它。

    2017更新

    从 2017 年开始,我所有的 Delphi 程序的所有误报警报都神奇地消失了。对于像卡巴斯基这样的程序来说,从其病毒列表中删除 Delphi 生成的可执行文件似乎就足够了;所有其他较小的防病毒程序都紧随其后。

    德尔福 7、Win 7 (32)、KIS 2011

    最佳答案

    不是解决您问题的答案,但您应该通知卡巴斯基,他们可能不知道有与 Delphi 库相关联的病毒签名。

    如果您的程序不太复杂,您可能想尝试 Lazarus/FPC。它不如Delphi,但我已经使用它好几年了,在Windows/MacOS/Linux上都取得了不错的效果。

    关于防病毒程序阻止的 Delphi 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3733963/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com