1

私は自分のソフトで valgrind の memcheck を使用していますが、これには問題があります。何らかの理由で、ストアの前に malloced ポインターを変換し、使用時に元に戻す必要があります。

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;
4

1 に答える 1

0

これは、valgrind が適切に検出できないものです。したがって、対応する関数を無視する抑制ファイルを作成する必要があります。

また、あなたがしていることをすることは一般的にお勧めできませfreemalloc。今+1-1でも私にはNOPのようですが、バックハンドでもっと複雑なことをしているのではないかと思います.

于 2015-03-22T10:29:10.847 に答える