在Solaris上编译应用程序时,可以在Linux上使用Valgrind吗?

时间:2011-01-30 06:14:08

标签: c linux memory-leaks solaris valgrind

我编写了一个注定要在Solaris SPARC系统上的C应用程序。然而,我的大部分开发都在我的Mint Linux 64位机器上。

我看到我的内存泄漏很少,并且已经在Linux上使用Valgrind来检查它。

我的问题是:如果我在Linux上运行Valgrind并将所有内存泄漏事件100%(或者至少接近那个),如果我可以在Solaris上编译应用程序那么它是否意味着应该也表现相同(意味着我不必使用Solaris特定的内存泄漏检测工具?)

我问的原因是我没有时间为每个平台学习所有这些分析工具.....我希望如果Valgrind告诉我修复一些修复程序也可以在Solaris上运行的东西吗? / p>

我知道Linux和Solaris之间的内存管理会有很大不同,但肯定会在内存泄漏检测方面有所不同吗?

非常感谢任何建议/帮助; - )

林顿

1 个答案:

答案 0 :(得分:3)

一般来说,如果两个系统上的代码执行路径相同,并且你清理了内存泄漏,那么肯定会在另一个系统上清理它们。

虽然机器之间的情况有所不同,但并不是那么直截了当。 EG,它试图在linux系统上做一件事,在solaris系统上做另一件事。

Valgrind是一个很棒的工具,最好的办法就是在linux上试一试,看看它是否也能清除solaris上的漏洞(请查看ps或其他工具,列出solaris下的内存大小并确保它没有'那里增加。)