动态加载各种插件的进程内存泄漏



有一个进程process1,它执行各种库的dl_open(动态加载/卸载(。让我们将这些库称为插件(plugin1plugin2插件3…(,

现在,我可以使用valgrind(同样(在process1中看到内存泄漏。但我想确定,确切的插件可能(主要(促成了泄漏。有简单的方法吗?以及a(将每个插件作为单独的进程运行

通常,当您在启用泄漏检测的Valgrind memcheck下运行应用程序时,它会在应用程序终止时转储泄漏统计信息。

有两种机制可以用于使memcheck在执行期间的其他时间运行泄漏转储。

  1. 使用Valgrind客户端通信宏来插入代码
  2. 使用vgdb命令

几年前我写了一篇关于这方面的文章。

举个例子,你的代码中可能有这样的东西

dlclose(myHandle);
VALGRIND_DO_LEAK_CHECK;

最新更新