客户端代码中的 Valgrind 挂钩:特定函数的内存泄漏
Valgrind hooks in client code : Memory leak for particular functions
在应用程序代码中使用时是否有任何可用的 Valgrind 函数或宏,我可以通过特定函数生成内存泄漏。
换句话说,我需要考虑调用特定应用程序函数后没有内存泄漏。
Valgrind 有两种机制用于 Valgrind 和被测应用程序之间的交互。
- gdbserver commands and here for memcheck monitor commands。您可以在 Valgrind 下启动您的应用程序,然后附加 gdb。然后你可以发出命令来做一些事情,比如在那一刻生成泄漏报告。在您的情况下,您可以使用
leak_check
命令。
- Valgrind client requests and also here。要使用它,您需要像 "valgrind/memcheck.h" 一样包含 Valgrind headers 并重新编译。然后有大量宏可用于执行查询内存状态等操作。在您的情况下,您可以使用
VALGRIND_DO_LEAK_CHECK
.
几年前我写了一篇关于使用这些机制的文章,可在线获取here。
在应用程序代码中使用时是否有任何可用的 Valgrind 函数或宏,我可以通过特定函数生成内存泄漏。 换句话说,我需要考虑调用特定应用程序函数后没有内存泄漏。
Valgrind 有两种机制用于 Valgrind 和被测应用程序之间的交互。
- gdbserver commands and here for memcheck monitor commands。您可以在 Valgrind 下启动您的应用程序,然后附加 gdb。然后你可以发出命令来做一些事情,比如在那一刻生成泄漏报告。在您的情况下,您可以使用
leak_check
命令。 - Valgrind client requests and also here。要使用它,您需要像 "valgrind/memcheck.h" 一样包含 Valgrind headers 并重新编译。然后有大量宏可用于执行查询内存状态等操作。在您的情况下,您可以使用
VALGRIND_DO_LEAK_CHECK
.
几年前我写了一篇关于使用这些机制的文章,可在线获取here。