我有一个使用xlc_r编译的程序,它会生成多个线程并试图跟踪它以查看是否存在任何内存泄漏。我已经详细介绍了如何使用内置于AIX的MALLOCDEBUG功能,但是在运行format_mallocdebug_op.sh之后,它显示了随机pthread和文件方法的内存泄漏,例如pthread_attri_init,_pth_init ,fopen,fwrite等。
然后,我制作了一个较小的测试程序,有目的地不释放char *并用xlc_r编译它,几乎完全相同的输出出现。然后我再次编译测试程序但是使用xlc并且它正常工作,显示了一个char *内存泄漏,就是这样。似乎MALLOCDEBUG功能不适用于多线程编译的应用程序。有没有设置让它知道这个?