sewardj | a9a2dcf | 2002-11-11 00:20:07 +0000 | [diff] [blame] | 1 | <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"> </a> |
jseward | 693028e | 2003-12-14 00:15:23 +0000 | [diff] [blame] | 28 | <h1 align=center>Valgrind, version 2.1.0</h1> |
nethercote | 9f07c54 | 2004-01-21 13:59:23 +0000 | [diff] [blame] | 29 | <center>This manual was last updated on 21 January 2004</center> |
sewardj | a9a2dcf | 2002-11-11 00:20:07 +0000 | [diff] [blame] | 30 | <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> |
sewardj | 6452214 | 2003-03-16 01:12:16 +0000 | [diff] [blame] | 35 | Copyright © 2000-2003 Julian Seward, Nick Nethercote |
sewardj | a9a2dcf | 2002-11-11 00:20:07 +0000 | [diff] [blame] | 36 | <p> |
| 37 | |
| 38 | Valgrind is licensed under the GNU General Public License, version |
| 39 | 2<br> |
| 40 | |
| 41 | An 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 | |
sewardj | f555ac7 | 2002-11-18 00:07:28 +0000 | [diff] [blame] | 50 | <h4>1 <a href="coregrind_intro.html#intro">Introduction</a></h4> |
| 51 | 1.1 <a href="coregrind_intro.html#intro-overview"> |
| 52 | An overview of Valgrind</a><br> |
| 53 | 1.2 <a href="coregrind_intro.html#intro-navigation"> |
| 54 | How to navigate this manual</a> |
sewardj | a9a2dcf | 2002-11-11 00:20:07 +0000 | [diff] [blame] | 55 | |
sewardj | f555ac7 | 2002-11-18 00:07:28 +0000 | [diff] [blame] | 56 | <h4>2 <a href="coregrind_core.html#core"> |
nethercote | 9f07c54 | 2004-01-21 13:59:23 +0000 | [diff] [blame] | 57 | Using and understanding the Valgrind core</a></h4> |
sewardj | f555ac7 | 2002-11-18 00:07:28 +0000 | [diff] [blame] | 58 | 2.1 <a href="coregrind_core.html#core-whatdoes"> |
| 59 | What it does with your program</a><br> |
| 60 | 2.2 <a href="coregrind_core.html#started"> |
| 61 | Getting started</a><br> |
| 62 | 2.3 <a href="coregrind_core.html#comment"> |
| 63 | The commentary</a><br> |
| 64 | 2.4 <a href="coregrind_core.html#report"> |
| 65 | Reporting of errors</a><br> |
| 66 | 2.5 <a href="coregrind_core.html#suppress"> |
| 67 | Suppressing errors</a><br> |
| 68 | 2.6 <a href="coregrind_core.html#flags"> |
njn | b29d4cb | 2003-08-29 11:42:50 +0000 | [diff] [blame] | 69 | Command-line flags for the Valgrind core</a><br> |
sewardj | f555ac7 | 2002-11-18 00:07:28 +0000 | [diff] [blame] | 70 | 2.7 <a href="coregrind_core.html#clientreq"> |
| 71 | The Client Request mechanism</a><br> |
| 72 | 2.8 <a href="coregrind_core.html#pthreads"> |
| 73 | Support for POSIX pthreads</a><br> |
| 74 | 2.9 <a href="coregrind_core.html#signals"> |
| 75 | Handling of signals</a><br> |
| 76 | 2.10 <a href="coregrind_core.html#install"> |
| 77 | Building and installing</a><br> |
| 78 | 2.11 <a href="coregrind_core.html#problems"> |
| 79 | If you have problems</a><br> |
| 80 | 2.12 <a href="coregrind_core.html#limits"> |
| 81 | Limitations</a><br> |
| 82 | 2.13 <a href="coregrind_core.html#howworks"> |
| 83 | How it works -- a rough overview</a><br> |
| 84 | 2.14 <a href="coregrind_core.html#example"> |
| 85 | An example run</a><br> |
nethercote | 9f07c54 | 2004-01-21 13:59:23 +0000 | [diff] [blame] | 86 | 2.15 <a href="coregrind_core.html#warnings"> |
| 87 | Warning messages you might see</a><br> |
sewardj | a9a2dcf | 2002-11-11 00:20:07 +0000 | [diff] [blame] | 88 | |
sewardj | f555ac7 | 2002-11-18 00:07:28 +0000 | [diff] [blame] | 89 | <h4>3 <a href="mc_main.html#mc-top"> |
| 90 | Memcheck: a heavyweight memory checker</a></h4> |
sewardj | a9a2dcf | 2002-11-11 00:20:07 +0000 | [diff] [blame] | 91 | |
sewardj | f555ac7 | 2002-11-18 00:07:28 +0000 | [diff] [blame] | 92 | <h4>4 <a href="cg_main.html#cg-top"> |
| 93 | Cachegrind: a cache-miss profiler</a></h4> |
sewardj | a9a2dcf | 2002-11-11 00:20:07 +0000 | [diff] [blame] | 94 | |
sewardj | f555ac7 | 2002-11-18 00:07:28 +0000 | [diff] [blame] | 95 | <h4>5 <a href="ac_main.html#ac-top"> |
| 96 | Addrcheck: a lightweight memory checker</a></h4> |
sewardj | a9a2dcf | 2002-11-11 00:20:07 +0000 | [diff] [blame] | 97 | |
sewardj | f555ac7 | 2002-11-18 00:07:28 +0000 | [diff] [blame] | 98 | <h4>6 <a href="hg_main.html#hg-top"> |
| 99 | Helgrind: a data-race detector</a></h4> |
sewardj | a9a2dcf | 2002-11-11 00:20:07 +0000 | [diff] [blame] | 100 | |
nethercote | c9f3692 | 2004-02-14 16:40:02 +0000 | [diff] [blame] | 101 | <h4>7 <a href="ms_main.html#ms-top"> |
| 102 | Massif: a heap profiler</a></h4> |
| 103 | |
njn | 50aca9e | 2003-03-25 13:38:35 +0000 | [diff] [blame] | 104 | <p> |
| 105 | The following is not part of the user manual. It describes how you can |
nethercote | 137bc55 | 2003-11-14 17:47:54 +0000 | [diff] [blame] | 106 | write tools for Valgrind, in order to make new program supervision |
njn | 50aca9e | 2003-03-25 13:38:35 +0000 | [diff] [blame] | 107 | tools. |
| 108 | |
nethercote | c9f3692 | 2004-02-14 16:40:02 +0000 | [diff] [blame] | 109 | <h4>8 <a href="coregrind_tools.html"> |
nethercote | 137bc55 | 2003-11-14 17:47:54 +0000 | [diff] [blame] | 110 | Valgrind Tools</a></h4> |
njn | 50aca9e | 2003-03-25 13:38:35 +0000 | [diff] [blame] | 111 | |
| 112 | <p> |
sewardj | f555ac7 | 2002-11-18 00:07:28 +0000 | [diff] [blame] | 113 | The following are not part of the user manual. They describe internal |
nethercote | 9f07c54 | 2004-01-21 13:59:23 +0000 | [diff] [blame] | 114 | details of how Valgrind works. Reading them may rot your brain. You |
sewardj | f555ac7 | 2002-11-18 00:07:28 +0000 | [diff] [blame] | 115 | have been warned. |
sewardj | a9a2dcf | 2002-11-11 00:20:07 +0000 | [diff] [blame] | 116 | |
nethercote | c9f3692 | 2004-02-14 16:40:02 +0000 | [diff] [blame] | 117 | <h4>9 <a href="mc_techdocs.html#mc-techdocs"> |
sewardj | f555ac7 | 2002-11-18 00:07:28 +0000 | [diff] [blame] | 118 | The design and implementation of Valgrind</a></h4> |
| 119 | |
nethercote | c9f3692 | 2004-02-14 16:40:02 +0000 | [diff] [blame] | 120 | <h4>10 <a href="cg_techdocs.html#cg-techdocs"> |
sewardj | f555ac7 | 2002-11-18 00:07:28 +0000 | [diff] [blame] | 121 | How Cachegrind works</a></h4> |
sewardj | a9a2dcf | 2002-11-11 00:20:07 +0000 | [diff] [blame] | 122 | |
| 123 | <hr width="100%"> |
| 124 | |
| 125 | |