我在我的软件上使用valgrind的memcheck;但我在这方面有问题:由于某些原因,我们将在存储之前转换错误的指针,并在use.Just时转换回来,如下所示:
char* ptr = (char*)malloc(1);
ptr = ptr + 1;
......
origin_ptr = ptr -1;
free(origin_ptr);
ptr = ptr + 1; <------ this will make valgrind to report memory lost;发布于 2015-03-22 18:29:11
这是valgrind无法正确检测到的。因此,您必须编写一个忽略相应函数的抑制文件。
此外,通常不鼓励你做你正在做的事情,因为free特别要求你免费的东西是你在每个malloc上得到的;现在+1-1对我来说似乎也是一个无关紧要的东西,但我怀疑你在做一些更复杂的事情。
https://stackoverflow.com/questions/29193228
复制相似问题