我想分析我的C ++代码以找到向量和数组中的错误访问(超出范围访问),是否有工具?
提前致谢
答案 0 :(得分:10)
如果您正在使用gcc,则可以使用_GLIBCXX_DEBUG和_GLIBXX_DEBUG_PEDANTIC进行编译。如果请求超出边界访问权限,这将启用glibc断言。
使用valgrind :: memcheck进行测试也会显示错误的内存读取
答案 1 :(得分:6)
是:Valgrind。
还有很多人:http://en.wikipedia.org/wiki/Memory_debugger。
另请注意,大多数实施例如std::vector
具有调试模式,它们将执行运行时边界检查。
答案 2 :(得分:2)
答案 3 :(得分:0)
在您的数组上创建一个类,并在该类中创建一些控制函数 与运营商和.... 然后使用这个类。