当应用程序在 Solaris 上编译时,在 Linux 上使用 Valgrind 是否也有帮助?
我编写了一个 C 应用程序,该应用程序注定要在 Solaris SPARC 系统上运行。然而,我的大部分开发工作都是在我的 Mint Linux 64 位机器上进行的。
我发现我有一个小的内存泄漏,并且一直在 Linux 上使用 Valgrind 来检查它。
我的问题是:如果我在 Linux 上运行 Valgrind 并将所有内存泄漏问题设置为 100%(或至少接近该值),如果我可以在 Solaris 上编译该应用程序,是否意味着它也应该行为相同(意味着我不必使用 Solaris 特定的内存泄漏检测工具?)
我问的原因是我真的没有时间学习每个平台的所有这些分析工具......我希望如果Valgrind 告诉我修复一些问题,该修复也适用于 Solaris?
我知道 Linux 和 Solaris 之间的内存管理会有很大不同,但是在内存泄漏检测方面它们肯定是相同的吗?
任何建议/帮助将不胜感激;-)
林顿
I have written a C application that is destined to be on a Solaris SPARC system. However the majority of my development has been on my Mint Linux 64 bit machine.
I have seen I have a small memory leak and have been using Valgrind on Linux to check it out.
My question is: If I run Valgrind on Linux and make all the memory leak stuff 100% (or at least close to that), if I can compile the application on Solaris does it mean that it should also behave the same (meaning I do not have to use Solaris specific memory leak detection tools?)
Reason I ask is I doesn't really have the time to learn all these profiling tools for each platform.....I am hoping that if Valgrind tells me to fix something that the fix will also work on Solaris?
I know the memory management between Linux and Solaris would be quite different, but surely on memory leak detection they would be kind of the same?
Any advice / help would be greatly appreciated ;-)
Lynton
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
一般来说,如果两个系统上的代码执行路径相同,并且您清理了一个系统上的内存泄漏,那么它也会在另一个系统上清理它们。
然而,当机器之间的情况有所不同时,事情就不那么简单了。 EG,它尝试在linux系统上做一件事,在solaris系统上做另一件事。
Valgrind 是一个很棒的工具,最好的办法是在 linux 上尝试一下,看看它是否也可以清除 solaris 上的泄漏(使用 ps 或其他列出 solaris 下内存大小的工具进行检查,并确保它不会在那里增加) )。
Generally speaking, if the code execution path is the same on both systems and you clean up the memory leaks on one then yes, it will clean them up on the other system too.
It's not quite so straight forward when things differ between the machines though. EG, it tries to do one thing on the linux system and another thing on the solaris system.
Valgrind is a great tool and the best thing to do is try it on linux and see if it cleans up the leaks on solaris too (check with ps or another tool that lists the memory size under solaris and make sure it doesn't increase there).