ubuntu 上使用valgrind
Valgrind是一个GPL的软件,用于Linux(For x86, amd64 and ppc32)程序的内存调试和代码剖析。你可以在它的环境中运行你的程序来监视内存的使用情况,比如C 语言中的malloc和free或者 C++中的new和 delete。使用Valgrind的工具包,你可以自动的检测许多内存管理和线程的bug,避免花费太多的时间在bug寻找上,使得你的程序更加稳固。 Valgrind的主要功能 Valgrind工具包包含多个工具,如Memcheck,Cachegrind,Helgrind, Callgrind,Massif。下面分别介绍个工具的作用: Memcheck 工具主要检查下面的程序错误: 1.使用未初始化的内存 (Use of uninitialised memory) 2.使用已经释放了的内存 (Reading/writing memory after it has been free’d) 3.使用超过 malloc分配的内存空间(Reading/writing off the end of malloc’d blocks) 4.对堆栈的非法访问 (Reading/writing inappropriate areas on the stack) 5.申请的空间是否有释放 (Memory leaks – where