Valgrind 必须从一开始就监督这个过程;不可能将它附加到已经运行的进程(或者,等效地,在执行的某个点之前忽略该进程,然后开始模拟/检查)。
反之则不然——你可以在一些指令之后“分离”valgrind;但我猜这不是你想要的。
请注意:
- “输出很长”是一个糟糕的借口——Valgrind 错误通常是真正的肯定(除非您使用优化的代码,在这种情况下:不要那样做),并且应该真正解决,并且
- 在解决未初始化值的使用问题之前,您可以专注于更严重的问题(堆损坏),方法是使用
--undef-value-errors=no