c++ - 客户端代码 : Memory leak for particular functions 中的 Valgrind Hook

标签 c++ c valgrind

在应用程序代码中使用时是否有任何可用的 Valgrind 函数或宏,我可以生成特定函数的内存泄漏。 换句话说,我需要考虑在调用特定应用程序函数后没有内存泄漏。

最佳答案

Valgrind 有两种机制用于 Valgrind 和被测应用程序之间的交互。

  1. gdbserver commands这里是memcheck monitor commands .您可以在 Valgrind 下启动您的应用程序,然后附加 gdb。然后你可以发出命令来做一些事情,比如在那一刻生成泄漏报告。在您的情况下,您可以使用 leak_check 命令。
  2. Valgrind client requests还有here .要使用它,您需要包含诸如“valgrind/memcheck.h”之类的 Valgrind header 并重新编译。然后有大量宏可用于执行查询内存状态等操作。在您的情况下,您可以使用 VALGRIND_DO_LEAK_CHECK

几年前我写了一篇关于使用这些机制的文章,可在线获取 here .

关于c++ - 客户端代码 : Memory leak for particular functions 中的 Valgrind Hook ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50201265/

相关文章:

Valgrind Massif工具输出图形界面?

c++ - cudaDecodeGL sdk 示例从 Windows 移植到 Linux 后出现内存泄漏

c - 如何将 OpenMP 指令 (#pragmas) 包装为函数或类似函数的宏?

c++ - std::unordered_map<T,std::unique_ptr<U>> 可复制?海湾合作委员会错误?

python - 在 VS C++ 代码中显示 Python 脚本警告

c++ - 插入 Asus Xtion Pro 时无法使用 OpenCV 从网络摄像头获取图片

C 编程 - void(*ptr[2])() = {blah, blah2};解释

c - 为什么我的 ppm 文件中的图像有点偏差?

c++ - 销毁从函数返回的堆栈上的对象

c++ - 在函数周围调用std::thread()的工作方式不同