Memory 动态加载各种插件的进程中的内存泄漏
有一个进程process1,它对各种库执行Memory 动态加载各种插件的进程中的内存泄漏,memory,plugins,memory-leaks,valgrind,dlopen,Memory,Plugins,Memory Leaks,Valgrind,Dlopen,有一个进程process1,它对各种库执行dl\u open(动态加载/卸载)。让我们将这些库称为插件(plugin1、plugin2、plugin3…, 现在,我可以在使用valgrind的process1中看到内存泄漏(同样)。但我想确定,可能(主要)导致泄漏的确切插件。有没有一个简单的方法可以做到这一点?除a)将每个插件作为一个单独的进程运行通常,当您在Valgrind memcheck下运行应用程序并启用泄漏检测时,应用程序终止时,它将转储泄漏统计数据 有两种机制可以让memcheck在
dl\u open
(动态加载/卸载)。让我们将这些库称为插件(plugin1、plugin2、plugin3…,现在,我可以在使用valgrind的process1中看到内存泄漏(同样)。但我想确定,可能(主要)导致泄漏的确切插件。有没有一个简单的方法可以做到这一点?除a)将每个插件作为一个单独的进程运行通常,当您在Valgrind memcheck下运行应用程序并启用泄漏检测时,应用程序终止时,它将转储泄漏统计数据 有两种机制可以让memcheck在执行期间的其他时间运行泄漏转储
dlclose(myHandle);
VALGRIND_DO_LEAK_CHECK;
要在使用dlclose时获得更好的堆栈跟踪,最好使用--keep debuginfo=yes。