Memcheck-内存泄漏的未知源模块 我开始用C++,用MeMeC检查来检查程序内存泄漏。

Memcheck-内存泄漏的未知源模块 我开始用C++,用MeMeC检查来检查程序内存泄漏。,c++,memory-leaks,valgrind,memcheck,C++,Memory Leaks,Valgrind,Memcheck,如果什么时候。。。有泄漏,我得到了剩余的未释放内存分配输出,这是new、malloc等尚未释放的使用。这些通常伴随着源文件和分配的行号,这使得修复变得很容易 有时,虽然源模块被列为未知行:0,但在我的例子中,用于调用new。如果memcheck知道有人打电话给new,为什么它不知道这是从哪里来的?我只是想弄清楚这一点,这样我就可以知道这些泄漏可能来自哪里。我想它就是无法正确解析堆栈跟踪。当这些工具VLD、Deleaker等尝试在快速模式下解析堆栈跟踪(例如读取x86上的EBP/ESP和丢失帧指针

如果什么时候。。。有泄漏,我得到了剩余的未释放内存分配输出,这是new、malloc等尚未释放的使用。这些通常伴随着源文件和分配的行号,这使得修复变得很容易


有时,虽然源模块被列为未知行:0,但在我的例子中,用于调用new。如果memcheck知道有人打电话给new,为什么它不知道这是从哪里来的?我只是想弄清楚这一点,这样我就可以知道这些泄漏可能来自哪里。

我想它就是无法正确解析堆栈跟踪。当这些工具VLD、Deleaker等尝试在快速模式下解析堆栈跟踪(例如读取x86上的EBP/ESP和丢失帧指针)时,或者当它们尝试使用调试信息解析堆栈跟踪时,该信息不正确或不存在时,就会发生这种情况

在大多数情况下,可以正确解析堆栈跟踪。有时——不是