0

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

valgrind --leak-check=yes myprog arg1 arg2

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

4

1 回答 1

0

似乎涉及两个程序:

  1. 创建共享对象的程序。要使用 valgrind 运行它,您可以将其包装在 shell 脚本中以使用 valgrind 调用它。
  2. 加载共享对象的程序。您不能使用 valgrind 运行程序的某些部分,即只能运行您的共享对象。您需要使用 valgrind 运行整个程序。

您可能应该考虑创建独立于“更大的程序”运行代码的合理测试用例并分析它们。

于 2012-08-27T09:25:03.813 回答