0

我们正在尝试调查应用程序的内存损坏,并且我们看到的确切问题可以在应用程序的实时内存中看到(即已添加的调试代码显示损坏的信息),但是当我们查看核心时此时获取的转储数据没有损坏。

根据我对核心转储过程的初步理解,这可能是由于操作系统刷新了每个缓冲区、完成了部分写入等等。

任何人都可以详细了解究竟发生了什么,以及是否有办法确定导致腐败的原因?

mprotect() 阻止所有写入,而不仅仅是非拥有进程,这是我们的应用程序具有大量 R/W 访问的数据(并且仅在新机器上存在问题)

4

1 回答 1

0

原来是 RHEL4 和它运行的内核,客户升级到 RHEL5 和最新的内核,问题就消失了

于 2013-04-12T02:55:04.857 回答