C++ - 检测超出范围的访问

Shn*_*poo 3 c++ memory debugging profiling

我想分析我的C++代码,找到向量和数组中的错误访问(超出范围访问),有没有一个工具呢?

提前致谢

Mar*_*s V 10

如果您正在使用gcc,则可以使用_GLIBCXX_DEBUG和_GLIBXX_DEBUG_PEDANTIC进行编译.如果请求超出边界访问,这将启用glibc断言.

使用valgrind :: memcheck进行测试也会显示内存读取错误


Oli*_*rth 6

是的:Valgrind.

还有很多其他人:http://en.wikipedia.org/wiki/Memory_debugger.

还要注意,例如,大多数实现std::vector具有调试模式,它们将执行运行时边界检查.