SunOS上的C ++应用程序存在内存泄漏。怎么找到它?

时间:2009-09-02 08:34:10

标签: c++ solaris sunos

我刚刚登陆SunOS:

$ uname -a
SunOS sunfi95 5.9 Generic_122300-13 sun4u sparc SUNW,Sun-Fire-880

并拥有Sun工作室:

$ CC -V
CC: Sun C++ 5.8 2005/10/13

如何在代码中找到memleaks? (在这种情况下,dbx不是一个选项)。 Valgrind不适用于sparc系统,只有一个解决方案让我想到的是使用一些智能库,它会超载new并删除并计算它们被调用的次数。 任何人都知道BSD上的某些内容,如许可证吗?

4 个答案:

答案 0 :(得分:4)

在Sun OS上,您可以使用Purify,或者尝试将您的程序移植到Unix / Linux上并使用valgrind来查找泄漏。

答案 1 :(得分:2)

DTrace对于解决Solaris应用程序中正在发生的事情非常有用。

Here's an example of how to use it from Sun.

答案 2 :(得分:1)

我认为有免费软件库,但我们在Solaris上使用Purify运行良好。

答案 3 :(得分:1)

您还可以使用名为cppcheck的应用程序来查找内存泄漏以及许多其他问题。这是一个免费/开源产品。

我从未在SunOS或Sparc机器上使用它,但是源代码可用,您可以尝试构建它。我不确定引擎盖下发生了什么,但我不明白为什么你不能在SunOS Sparc机器上构建它。