摘要: Valgrind 使用简单说明--检查内存泄露调不尽的内存泄露,用不完的Valgrind(一个介绍程序调试的精彩讲解:http://www.ibm.com/developerworks/cn/linux/l-pow-debug/)Valgrind 介绍 Valgrind是一个GPL的软件,用于Linux(For x86, amd64 and ppc32)程序的内存调试和代码剖析。你可以在它的环境中运行你的程序来监视内存的使用情况,比如C 语言中的malloc和free或者 C++中的new和 delete。使用Valgrind的工具包,你可以自动的检测许多内存管理和线程的bug,避免花费太多的 阅读全文
posted @ 2011-12-09 15:32 夏大王 阅读(649) 评论(0) 推荐(0) 编辑
摘要: 应用 Valgrind 发现 Linux 程序的内存问题杨 经 (cdlyangj@cn.ibm.com), 软件工程师, IBM杨经,他的技术兴趣包括自动化测试与linux系统管理。目前是IBM中国系统与技术实验室(CSTL)的软件工程师,从事中小型企业(SME)服务器的测试工作,可以通过cdlyangj@cn.ibm.com与他联系。简介:如何定位应用程序开发中的内存问题,一直是 inux 应用程序开发中的瓶颈所在。有一款非常优秀的 linux 下开源的内存问题检测工具:valgrind,能够极大的帮助你解决上述问题。掌握 valgrind 的使用以及工作原理,能够有效地定位进而避免应用开 阅读全文
posted @ 2011-12-09 15:29 夏大王 阅读(311) 评论(0) 推荐(0) 编辑
摘要: 如果调用栈在__lll_mutex_lock_wait, 基本上可以说是死锁了。如果有__lll_mutex_lock_wait () from /lib/tls/libc.so.6 并且 _L_mutex_lock_2507 , 可以断定内存出现问题了。可能是某个类已经释放了,还是用那个类的锁导致的。如果出现 __lll_mutex_lock_wait () from /lib/tls/libpthread.so.0 并且L_mutex_lock_35 (),可能是死锁了。1) 如果是内存错误,可以使用valgrind检查。2) 如果是死锁,可以使用pstack 或者 gdb的情况下使用 t 阅读全文
posted @ 2011-12-09 15:28 夏大王 阅读(1015) 评论(0) 推荐(0) 编辑