如何检查是否已使用C ++分配器分配了一部分内存?

时间:2014-04-28 12:33:21

标签: c++ memory-management allocation memmove

有没有办法确定单个C ++分配块中是否包含特定的内存部分?不幸的是,在发布模式下。最理想的是在Windows和Mac上。

我这里有一个非常有问题的错误 - 它只出现在发布模式下,它很难模拟,多线程并且通常会破坏堆栈。它似乎是由对memmove的调用引起的,我唯一的猜测是它正在替换大部分内存,并且在发生访问冲突之前它通常已经替换了堆栈。

算法非常复杂,这种情况经常发生,不知道如何有效地模拟它,所以我唯一的想法是将测试植入memmove以确保参数是正确的。当然,每个部分应该位于一个alloctor块中,因此我需要检查被替换的特定块是否正确。

0 个答案:

没有答案