如何调试c++内存错误

How to debug C++ memory errors?

本文关键字:c++ 内存 错误 调试 何调试      更新时间:2023-10-16

valgrind是否适用于STL分配器?我以以下方式使用STL矢量和纯C库:

double some_C_functions(int, double*);
std::vector<double> v;
.....
double result = some_C_functions(v.size(), &v[0]);

如果C函数试图越过指针怎么办?valgrind能检测到错误吗?

Valgrind应该仍然能够检测到这一点,因为它与内存管理相关联,对于C或c++来说,内存管理仍然会进入相同的堆。显然很难(呃)检测到错误的读取。