在未从命令行调用的程序上使用Valgrind

时间:2012-08-27 08:35:22

标签: c++ memory-leaks valgrind

我想使用Valgrind来调试我的C ++程序中的内存问题(在Linux-x64上运行)。我的程序输出一个.so库,由更大的程序使用。调用不是来自命令行,所以我不能使用以下命令来运行Valgrind库 -

valgrind --leak-check=yes myprog arg1 arg2

如何使用Valgrind调试库中的内存问题?

1 个答案:

答案 0 :(得分:0)

似乎涉及两个程序:

  1. 创建共享对象的程序。要使用valgrind运行它,您只需将其包装在shell脚本中,然后使用valgrind调用它。
  2. 加载共享对象的程序。您不能使用valgrind运行程序的某些部分,即只能运行您的共享对象。您需要使用valgrind运行整个程序。
  3. 你应该考虑创建合理的运行代码的测试用例,而不是“更大的程序”并分析它们。