我想分配一个数组并进行设置,使得它之前和之后的页面都受到内存管理单元的保护,因此将自动捕获遍历数组边界的尝试;然后抓住它以便以受控方式处理错误。
我怀疑会有一个可移植的解决方案,但是分别在Linux上使用Microsoft C和在Linux上使用GCC的最佳平台特定方法是什么?
答案 0 :(得分:2)
实际上,有一种可移植的方法来检测软件中的内存分配溢出。 Dmalloc提供fencepost覆盖检测
Fence-post memory是紧靠内存或低于内存的区域 分配。编写访问上面或上面的代码太容易了 低于分配 - 特别是在处理数组或字符串时。 该库可以在每个区域周围的区域中编写特殊值 分配时,它会注意到这些区域被覆盖的时间。