Valgrind memcheck程序化启用

时间:2009-11-29 19:35:26

标签: c++ valgrind memcheck

我不认为有一种方法可以用callgrind以编程方式启用/禁用Valgrind memcheck吗? (开始/停止仪器)。

这很痛苦,速度非常慢(如果您要测试的代码会自动启动并且您只是让它继续运行,那就没关系),但是如果不点击应用程序中的几个按钮,我实际上无法进入重要的代码,这使得完全没有反应。 (我的代码是另一个应用程序的插件)

由于

2 个答案:

答案 0 :(得分:3)

原则上几乎是不可能的。如果valgrind不知道你所有记忆的完整历史,它怎么能确定某些东西是泄密,甚至是无效记忆的引用呢?

答案 1 :(得分:2)

您无法停止/启动检测,但您可以通过编程方式执行增量泄漏检查。请参阅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。