如何在C++中检查内存损坏

how to check memory corruption in C++

本文关键字:检查 内存 损坏 C++      更新时间:2023-10-16

我的项目中有一个问题。有时执行失败,错误为"无法访问读/写位置xxxxx"。我知道这是内存损坏错误。但是我该如何追踪那个错误呢。它在变量的内存释放时失败了,如果我评论这一行,它处理得很好。也就是说,这个变量的内存已经被释放了。早些时候它运行得很好,我最近添加了代码,但我没有更改任何与此相关的内容。我该如何检查这个的内存损坏。

如果你在linux下,使用valgrind,它会向你显示如果你践踏内存会发生什么。

关于窗户:请看这里。

根据给定的信息,您必须逐步查看最近添加的所有代码(如果这是最近的问题),并评估和检查每一行,看看您是否在占用内存。memcopy是一个命令,如果您为要复制的项目的大小分配了太多,它可能会导致这种类型的错误。

确保您只删除对象(指针)一次。

如果您使用的是windows,请尝试winDbg。它是最好的,非常强大。