gpt4 book ai didi

c++ - 仅检查共享库中的内存问题(例如 Apache 模块)

转载 作者:太空宇宙 更新时间:2023-11-04 11:31:36 25 4
gpt4 key购买 nike

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

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

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

最佳答案

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.

您可以查看语法的默认抑制文件,但描述为here .

关于c++ - 仅检查共享库中的内存问题(例如 Apache 模块),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10986775/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com