试图在我的C ++代码中发现内存泄漏

时间:2019-06-03 11:54:53

标签: c++ debugging memory-leaks

我试图在我的c ++代码中查找内存泄漏,但是到目前为止,我已经使用VALGRIND并在运行该行时

valgrind --tool=memcheck --leak-check=yes example1

终端只是不进行操作,它显示3行,并且光标只是在新行上闪烁,表明它被卡住或仍在运行,我必须按Ctrl + C退出该过程,然后显示LEAK Summary,我不确定这是如何工作的,但是某些方向会有所帮助

1 个答案:

答案 0 :(得分:2)

Valgrind正常运行。报告内存泄漏仅在进程退出后才发生,而不是在进程仍在运行时。

其他类型的内存错误将在发生时立即显示,例如读取未初始化的内存或在释放内存后访问内存。但不是内存泄漏。

因此,如果该进程仍在运行,则需要告诉它退出。这样做,但是通常您会告诉它在不在valgrind下运行时退出,例如发送信号。 Ctrl-C就是这样。