blob: 3530a9994a22edb20734a26b704d08d40032d3ab [file] [log] [blame]
sewardja9a2dcf2002-11-11 00:20:07 +00001<html>
2 <head>
3 <style type="text/css">
4 body { background-color: #ffffff;
5 color: #000000;
6 font-family: Times, Helvetica, Arial;
7 font-size: 14pt}
8 h4 { margin-bottom: 0.3em}
9 code { color: #000000;
10 font-family: Courier;
11 font-size: 13pt }
12 pre { color: #000000;
13 font-family: Courier;
14 font-size: 13pt }
15 a:link { color: #0000C0;
16 text-decoration: none; }
17 a:visited { color: #0000C0;
18 text-decoration: none; }
19 a:active { color: #0000C0;
20 text-decoration: none; }
21 </style>
22 <title>Valgrind</title>
23 </head>
24
25<body bgcolor="#ffffff">
26
27<a name="title">&nbsp;</a>
jseward693028e2003-12-14 00:15:23 +000028<h1 align=center>Valgrind, version 2.1.0</h1>
nethercote9f07c542004-01-21 13:59:23 +000029<center>This manual was last updated on 21 January 2004</center>
sewardja9a2dcf2002-11-11 00:20:07 +000030<p>
31
32<center>
33<a href="mailto:jseward@acm.org">jseward@acm.org</a>,
34 <a href="mailto:njn25@cam.ac.uk">njn25@cam.ac.uk</a><br>
sewardj64522142003-03-16 01:12:16 +000035Copyright &copy; 2000-2003 Julian Seward, Nick Nethercote
sewardja9a2dcf2002-11-11 00:20:07 +000036<p>
37
38Valgrind is licensed under the GNU General Public License, version
392<br>
40
41An open-source tool for debugging and profiling Linux-x86 executables.
42</center>
43
44<p>
45
46<hr width="100%">
47<a name="contents"></a>
48<h2>Contents of this manual</h2>
49
sewardjf555ac72002-11-18 00:07:28 +000050<h4>1&nbsp; <a href="coregrind_intro.html#intro">Introduction</a></h4>
51 1.1&nbsp; <a href="coregrind_intro.html#intro-overview">
52 An overview of Valgrind</a><br>
53 1.2&nbsp; <a href="coregrind_intro.html#intro-navigation">
54 How to navigate this manual</a>
sewardja9a2dcf2002-11-11 00:20:07 +000055
sewardjf555ac72002-11-18 00:07:28 +000056<h4>2&nbsp; <a href="coregrind_core.html#core">
nethercote9f07c542004-01-21 13:59:23 +000057 Using and understanding the Valgrind core</a></h4>
sewardjf555ac72002-11-18 00:07:28 +000058 2.1&nbsp; <a href="coregrind_core.html#core-whatdoes">
59 What it does with your program</a><br>
60 2.2&nbsp; <a href="coregrind_core.html#started">
61 Getting started</a><br>
62 2.3&nbsp; <a href="coregrind_core.html#comment">
63 The commentary</a><br>
64 2.4&nbsp; <a href="coregrind_core.html#report">
65 Reporting of errors</a><br>
66 2.5&nbsp; <a href="coregrind_core.html#suppress">
67 Suppressing errors</a><br>
68 2.6&nbsp; <a href="coregrind_core.html#flags">
njnb29d4cb2003-08-29 11:42:50 +000069 Command-line flags for the Valgrind core</a><br>
sewardjf555ac72002-11-18 00:07:28 +000070 2.7&nbsp; <a href="coregrind_core.html#clientreq">
71 The Client Request mechanism</a><br>
72 2.8&nbsp; <a href="coregrind_core.html#pthreads">
73 Support for POSIX pthreads</a><br>
74 2.9&nbsp; <a href="coregrind_core.html#signals">
75 Handling of signals</a><br>
76 2.10&nbsp; <a href="coregrind_core.html#install">
77 Building and installing</a><br>
78 2.11&nbsp; <a href="coregrind_core.html#problems">
79 If you have problems</a><br>
80 2.12&nbsp; <a href="coregrind_core.html#limits">
81 Limitations</a><br>
82 2.13&nbsp; <a href="coregrind_core.html#howworks">
83 How it works -- a rough overview</a><br>
84 2.14&nbsp; <a href="coregrind_core.html#example">
85 An example run</a><br>
nethercote9f07c542004-01-21 13:59:23 +000086 2.15&nbsp; <a href="coregrind_core.html#warnings">
87 Warning messages you might see</a><br>
sewardja9a2dcf2002-11-11 00:20:07 +000088
sewardjf555ac72002-11-18 00:07:28 +000089<h4>3&nbsp; <a href="mc_main.html#mc-top">
90 Memcheck: a heavyweight memory checker</a></h4>
sewardja9a2dcf2002-11-11 00:20:07 +000091
sewardjf555ac72002-11-18 00:07:28 +000092<h4>4&nbsp; <a href="cg_main.html#cg-top">
93 Cachegrind: a cache-miss profiler</a></h4>
sewardja9a2dcf2002-11-11 00:20:07 +000094
sewardjf555ac72002-11-18 00:07:28 +000095<h4>5&nbsp; <a href="ac_main.html#ac-top">
96 Addrcheck: a lightweight memory checker</a></h4>
sewardja9a2dcf2002-11-11 00:20:07 +000097
sewardjf555ac72002-11-18 00:07:28 +000098<h4>6&nbsp; <a href="hg_main.html#hg-top">
99 Helgrind: a data-race detector</a></h4>
sewardja9a2dcf2002-11-11 00:20:07 +0000100
nethercotec9f36922004-02-14 16:40:02 +0000101<h4>7&nbsp; <a href="ms_main.html#ms-top">
102 Massif: a heap profiler</a></h4>
103
njn50aca9e2003-03-25 13:38:35 +0000104<p>
105The following is not part of the user manual. It describes how you can
nethercote137bc552003-11-14 17:47:54 +0000106write tools for Valgrind, in order to make new program supervision
njn50aca9e2003-03-25 13:38:35 +0000107tools.
108
nethercotec9f36922004-02-14 16:40:02 +0000109<h4>8&nbsp; <a href="coregrind_tools.html">
nethercote137bc552003-11-14 17:47:54 +0000110 Valgrind Tools</a></h4>
njn50aca9e2003-03-25 13:38:35 +0000111
112<p>
sewardjf555ac72002-11-18 00:07:28 +0000113The following are not part of the user manual. They describe internal
nethercote9f07c542004-01-21 13:59:23 +0000114details of how Valgrind works. Reading them may rot your brain. You
sewardjf555ac72002-11-18 00:07:28 +0000115have been warned.
sewardja9a2dcf2002-11-11 00:20:07 +0000116
nethercotec9f36922004-02-14 16:40:02 +0000117<h4>9&nbsp; <a href="mc_techdocs.html#mc-techdocs">
sewardjf555ac72002-11-18 00:07:28 +0000118 The design and implementation of Valgrind</a></h4>
119
nethercotec9f36922004-02-14 16:40:02 +0000120<h4>10&nbsp; <a href="cg_techdocs.html#cg-techdocs">
sewardjf555ac72002-11-18 00:07:28 +0000121 How Cachegrind works</a></h4>
sewardja9a2dcf2002-11-11 00:20:07 +0000122
123<hr width="100%">
124
125