sqlite - 硬件相关磁盘或内存损坏的可能性?

标签 sqlite hardware corruption

我有几百台电脑在运行一个应用程序。在一台计算机上,我已经看到两个实例,其中一个位被错误地设置在我从 SQLite 中提取的某些字符串上。如果这是我的开发计算机,我会假设我在某个地方有错误,但肯定有一些安装在这一点上我会开始看到罕见的基于硬件的错误。

这当然取决于我进行了多少 IO,但是是否有任何经验法则可以判断何时有机会看到这种情况?例如,对于 TCP 数据包,this paper确定“大约 1600 万到 100 亿个数据包中有 1 个”会发生无声的、未被发现的损坏。

不幸的是,不太可能在有问题的机器上运行内存/磁盘检查器。

最佳答案

当我注意到奇怪的事情发生时,我的策略是:

  1. 检查代码是否有bug
  2. 检查所使用的库/工具(SQLite,此处)是否存在错误
  3. 检查编译器是否有bug
  4. 然后,并且只有在那时,检查硬件故障

在我长达 10 年的职业生涯中,99.99% 的错误都与软件相关。

希望这对您有所帮助。

关于sqlite - 硬件相关磁盘或内存损坏的可能性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/172219/

相关文章:

android - 来自 AsyncTask 和 Activity 的数据库访问 - 锁定。解决方案?

node.js - sqlite last_insert_rowid 是原子的吗?

python - 如何从 sqlite 中获取一个 µ 字符并放到网页上?

c++ - 文件内容损坏的原因

android - 如何从 sqlite 游标中获取列值?

hardware - a <= a + 1 是 VHDL 中的一个好习惯吗?

debugging - 可以从操作系统中禁用/配置英特尔 PT(处理器跟踪)吗?

algorithm - 在不同级别实现递归和循环

svn - git svn : Delta source ended unexpectedly

c++ - 使用析构函数时双重释放或损坏