【发布时间】:2015-04-29 23:05:26
【问题描述】:
我正在使用 valgrind 来检测内存泄漏。但是,valgrind 会检测程序中的 fd 泄漏。像下面这样。
==00:00:00:40.685 31162== FILE DESCRIPTORS: 4 open at exit.
==00:00:00:40.685 31162== Open file descriptor 3: client.valgrind(this is open by valgrind)
==00:00:00:40.685 31162== <inherited from parent>
==00:00:00:40.685 31162==
==00:00:00:40.685 31162== Open file descriptor 2: /dev/pts/19
==00:00:00:40.685 31162== <inherited from parent>
==00:00:00:40.685 31162==
==00:00:00:40.685 31162== Open file descriptor 1: /dev/pts/19
==00:00:00:40.685 31162== <inherited from parent>
==00:00:00:40.685 31162==
==00:00:00:40.685 31162== Open file descriptor 0: /dev/pts/19
==00:00:00:40.685 31162== <inherited from parent>
但是client.valgrind是valgrind的日志文件,0、1、2是标准输出输入和err文件fd。我没有明显地打开它们。我感到困惑。
【问题讨论】:
-
你能说明你是如何调用 valgrind 的吗?