c - 仅使用 valgrind 分析部分函数和子函数

标签 c debugging valgrind memcheck

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

谢谢

最佳答案

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

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

请注意:

  • “输出很长”是一个糟糕的借口——Valgrind 错误通常是 真正的积极因素(除非您使用优化的代码,在这种情况下:不要这样做),并且应该真正得到解决,并且
  • 在解决未初始化值的使用之前,您可以通过使用 --undef-value-errors=no 专注于更严重的问题(堆损坏)。

关于c - 仅使用 valgrind 分析部分函数和子函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3717835/

相关文章:

c++ - 编译c代码时如何使g++忽略calloc指针类型错误

c - 使用多维数组作为输入构建 Postgresql C 函数

debugging - gdb:找不到新线程:一般错误

java - Eclipse调试java源,不列出源类的成员变量

c++ - 适用于 Windows 的 Helgrind?

c - 内存指针运算时如何避免valgrind report mem lost?

c - 带系统函数的 C 程序中的大括号扩展

python - ipdb 调试器中的 IPython 帮助功能

c++ - 条件跳转或移动取决于函数调用时未初始化的值

c - 链接到目标文件时出错