标签:memory-leaks valgrind solaris c-3 linux
我编写了一个注定要在Solaris SPARC系统上的C应用程序.但是,我的大部分开发工作都是在Mint Linux 64位计算机上进行的.
我已经看到内存泄漏很小,并且一直在Linux上使用Valgrind进行检查.
我的问题是:如果我在Linux上运行Valgrind并将所有内存泄漏的内容弄成100%(或至少接近100%),那么如果我可以在Solaris上编译该应用程序,是否意味着它也应该表现相同(意思是不必使用Solaris特定的内存泄漏检测工具?)
我问的原因是,我真的没有时间学习每个平台的所有这些分析工具……我希望,如果Valgrind告诉我修复某些问题,那么该修复程序也将在Solaris上运行?
我知道Linux和Solaris之间的内存管理会大不相同,但是在内存泄漏检测方面,它们肯定是一样的吗?
任何建议/帮助将不胜感激;-)
林顿
解决方法:
一般而言,如果两个系统上的代码执行路径相同,并且您清除了其中一个的内存泄漏,则可以,它也会在另一个系统上清除它们.
但是,当机器之间的情况有所不同时,并不是很简单. EG,它试图在linux系统上做一件事,而在solaris系统上做另一件事.
Valgrind是一个很棒的工具,最好的办法是在linux上尝试一下,看看它是否也清除了solaris上的泄漏(请使用ps或列出了solaris下内存大小的其他工具进行检查,并确保它不会在那里增加) ).
标签:memory-leaks,valgrind,solaris,c-3,linux 来源: https://codeday.me/bug/20191208/2093922.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。