我不认为有一种方法可以像使用callgrind那样以编程方式启用/禁用Valgrind memcheck?(启动/停止指令插入)。
它非常慢(如果你想测试的代码是自动启动的,而你只是让它运行),但如果不点击应用程序中的几个按钮,我就无法真正进入重要的代码,因为应用程序完全没有响应。(我的代码是另一个应用程序的插件)
谢谢
发布于 2009-11-30 04:00:28
这在原则上几乎是不可能的。如果valgrind不知道所有内存的完整历史记录,它怎么能确定是泄漏,甚至是对无效内存的引用?
发布于 2013-11-29 22:17:01
您不能停止/启动检测,但您可以通过编程方式进行增量泄漏检查。请参阅http://valgrind.org/docs/manual/mc-manual.html#mc-manual.clientreqs,特别是VALGRIND_DO_LEAK_CHECK、VALGRIND_DO_ADDED_LEAK_CHECK和VALGRIND_DO_CHANGED_LEAK_CHECK。
https://stackoverflow.com/questions/1816514
复制相似问题