0

我们有一个作为 Apache 模块(插件)加载的共享库。当然,模块本身会加载一些其他库。我想测试其中一个库是否存在内存泄漏、损坏等。查看 Valgrind 教程,我发现唯一的示例是在其下运行可执行文件。显然我不想在 Valgrind 下运行完整的 Apache 服务器。有没有办法指示 Valgrind 只查看特定的库?

其他一些工具,例如 Purify,我在编译期间(相当遥远的)过去需要检测,因此只有检测的库会为该工具生成输出。也许除了 Valgrind 之外还有其他工具可以做到这一点?

我们确实有相关库的命令行包装器,所以是的,我可以在 Valgrind 下运行它,但我们可以用它重现的场景非常有限。在检查内存问题时,我更愿意运行完整的应用程序并重现有问题的场景。谢谢!

4

1 回答 1

1

Valgrind 提供了一个命令行选项,允许您从文件中指定抑制。您可以使用它来抑制库以外的任何错误。

   --suppressions=<filename> [default: $PREFIX/lib/valgrind/default.supp]
          Specifies an extra file from which to read descriptions of
          errors to suppress. You may use up to 100 extra suppression
          files.

您可以查看语法的默认抑制文件,但在此处进行了描述。

于 2012-06-11T20:15:19.830 回答