Valgrind finds memory-management problems by checking all reads and writes of memory are checked, and intercepting all calls to malloc/new/free/delete. As a result, Valgrind can detect problems like the use of uninitialised memory, reading/writing memory after it has been free'd, reading/writing off the end of malloc'd blocks, reading/writing inappropriate areas on the stack, memory leaks, and passing of uninitialised and/or unaddressible memory to system calls. Valgrind tracks each byte of memory with nine status bits: one tracks addressibility, and the other eight validity. As a result, it can detect the use of single uninitialised bits, and does not report spurious errors on bitfield operations. Valgrind debugs almost any dynamically-linked ELF x86 executable without modification or recompilation.
DocumentationUser manual available in HTML format from http://valgrind.org/docs/manual/manual.html
released on 24 March 2005
|License||Verified by||Verified on||Notes|
|GPLv2||Janet Casey||3 July 2002|
Leaders and contributors
Resources and communication
|Developer||Mailing List Info/Archive||http://lists.sourceforge.net/mailman/listinfo/valgrind-developers|
|Support||Mailing List Info/Archive||http://lists.sourceforge.net/mailman/listinfo/valgrind-users|
|Help||Mailing List Info/Archive||http://lists.sourceforge.net/mailman/listinfo/valgrind-announce|
This entry (in part or in whole) was last reviewed on 11 May 2005.