|
From: Nicholas N. <nj...@ca...> - 2003-12-02 15:34:10
|
CVS commit by nethercote: Whoops... back out changes accidentally made to this file with the last, unrelated, commit. Sorry. M +59 -21 README 1.14 --- valgrind/README #1.13:1.14 @@ -2,15 +2,14 @@ Release notes for Valgrind, version 1.0.0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -> We're well past 1.0.0. I propose removing the version number here; -> it doesn't contribute anything, and just gets out-of-date. - KDE3 developers: please read also README_KDE3_FOLKS for guidance about how to debug KDE3 applications with Valgrind. -> I propose removing README_KDE3_FOLKS, and this reference to it; I -> think Valgrind has been around long enough that KDE developers don't -> need separate instructions. +If you are building a binary package of Valgrind for distribution, +please read README_PACKAGERS. It contains some important information. + +If you are developing Valgrind, please read README_DEVELOPERS. It contains +some useful information. -[snip] +For instructions on how to build/install, see the end of this file. Valgrind works best on systems with glibc-2.1.X or 2.2.X, and with gcc @@ -20,13 +19,28 @@ optimisation. Valgrind-1.0.X also can't handle glibc-2.3.X systems. -> Out of date: I think glibc-2.3.X is ok, right? Also gcc-3.1 is ok? Executive Summary ~~~~~~~~~~~~~~~~~ +Valgrind is a tool to help you find memory-management problems in your +programs. When a program is run under Valgrind's supervision, all +reads and writes of memory are checked, and calls to +malloc/new/free/delete are intercepted. As a result, Valgrind can +detect problems such as: + + 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 -- where pointers to malloc'd blocks are lost forever + Passing of uninitialised and/or unaddressible memory to system calls + Mismatched use of malloc/new/new [] vs free/delete/delete [] + Some abuses of the POSIX pthread API + +Problems like these can be difficult to find by other means, often +lying undetected for long periods, then causing occasional, +difficult-to-diagnose crashes. -> This summary doesn't account for the core/tool split. Should be -> similar to the overview on the website. - -[snip] +When Valgrind detects such a problem, it can, if you like, attach GDB +to your program, so you can poke around and see what's going on. Valgrind is closely tied to details of the CPU, operating system and @@ -40,7 +54,4 @@ least. -> Out of date... could make more generic, eg. works on most/all common -> Linux distros - Valgrind is licensed under the GNU General Public License, version 2. Read the file COPYING in the source distribution for details. @@ -55,12 +66,39 @@ docs/techdocs.html. -> These paths are incorrect. -[snip] +Building and installing it +~~~~~~~~~~~~~~~~~~~~~~~~~~ +To install from CVS : -Julian Seward (js...@ac...) -1 July 2002 + 0. Check out the code from CVS, following the instructions at + http://developer.kde.org/source/anoncvs.html. The 'modulename' is + "valgrind". + + 1. cd into the source directory. + + 2. Run ./autogen.sh to setup the environment (you need the standard + autoconf tools to do so). -> out of date, I suggest removing the date, and saying "report bugs to -> valgrind.kde.org" or similar. +To install from a tar.gz archive: + 3. Run ./configure, with some options if you wish. The standard + options are documented in the INSTALL file. The only interesting + one is the usual --prefix=/where/you/want/it/installed. + + 4. Do "make". + + 5. Do "make install", possibly as root if the destination permissions + require that. + + 6. See if it works. Try "valgrind ls -l". Either this works, + or it bombs out complaining it can't find argc/argv/envp. + In that case, mail me a bug report. + +Important! Do not move the valgrind installation into a place +different from that specified by --prefix at build time. This will +cause things to break in subtle ways, mostly when Valgrind handles +fork/exec calls. + + +Julian Seward (js...@ac...) +1 July 2002 |