假设我们已经配置了最大诊断的自动 Valgrind 测试设置(--leak-check=yes --track-origins=yes
等)。但是,在某些测试中,由于某些不确定的错误,valgrind 进程可能会因 SIGSEGV 而崩溃。在这种情况下,导致 SIGSEGV 的即时诊断很有用,但 Valgrind 并没有就此止步,而是将每个实时内存分配作为泄漏转储,数以万计的泄漏 - 这在随机 SIGSEGV 的情况下是无用的。
有没有办法将 Valgrind 配置为
- 在程序执行期间打印任何错误并且不要中止;
- 定期退出时,转储内存泄漏;
- 在 SIGSEGV/SIGABRT/SIGILL/SIG... 退出时,不要转储内存泄漏?
编辑:这已于 2011 年在 Valgrind 错误跟踪器中记录:https ://bugs.kde.org/show_bug.cgi?id=265371