0

我想调试一个“大”C 代码,并使用 valgrind,尤其是 memcheck 工具。输出很长,由于程序的大小,我只想重点介绍程序的一些功能和相关子功能。在 valgrind 中是否可以仅分析某些函数和子函数(直到某个深度级别)?

谢谢

4

1 回答 1

1

Valgrind 必须从一开始就监督这个过程;不可能将它附加到已经运行的进程(或者,等效地,在执行的某个点之前忽略该进程,然后开始模拟/检查)。

反之则不然——你可以在一些指令之后“分离”valgrind;但我猜这不是你想要的。

请注意:

  • “输出很长”是一个糟糕的借口——Valgrind 错误通常是真正的肯定(除非您使用优化的代码,在这种情况下:不要那样做),并且应该真正解决,并且
  • 在解决未初始化值的使用问题之前,您可以专注于更严重的问题(堆损坏),方法是使用--undef-value-errors=no
于 2010-09-20T01:27:23.630 回答