|
From: <sv...@va...> - 2009-06-16 06:07:55
|
Author: njn Date: 2009-06-16 07:07:43 +0100 (Tue, 16 Jun 2009) New Revision: 391 Log: Add a missing manual file. Added: trunk/docs/manual/new-tech-docs.html Added: trunk/docs/manual/new-tech-docs.html =================================================================== --- trunk/docs/manual/new-tech-docs.html (rev 0) +++ trunk/docs/manual/new-tech-docs.html 2009-06-16 06:07:43 UTC (rev 391) @@ -0,0 +1,76 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>1.The Design and Implementation of Valgrind</title> +<link rel="stylesheet" href="vg_basic.css" type="text/css"> +<meta name="generator" content="DocBook XSL Stylesheets V1.73.2"> +<link rel="start" href="index.html" title="Valgrind Documentation"> +<link rel="up" href="tech-docs.html" title="Valgrind Technical Documentation"> +<link rel="prev" href="tech-docs.html" title="Valgrind Technical Documentation"> +<link rel="next" href="writing-tools.html" title="2.Writing a New Valgrind Tool"> +</head> +<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> +<div><table class="nav" width="100%" cellspacing="3" cellpadding="3" border="0" summary="Navigation header"><tr> +<td width="22px" align="center" valign="middle"><a accesskey="p" href="tech-docs.html"><img src="images/prev.png" width="18" height="21" border="0" alt="Prev"></a></td> +<td width="25px" align="center" valign="middle"><a accesskey="u" href="tech-docs.html"><img src="images/up.png" width="21" height="18" border="0" alt="Up"></a></td> +<td width="31px" align="center" valign="middle"><a accesskey="h" href="index.html"><img src="images/home.png" width="27" height="20" border="0" alt="Up"></a></td> +<th align="center" valign="middle">Valgrind Technical Documentation</th> +<td width="22px" align="center" valign="middle"><a accesskey="n" href="writing-tools.html"><img src="images/next.png" width="18" height="21" border="0" alt="Next"></a></td> +</tr></table></div> +<div class="chapter" lang="en"> +<div class="titlepage"><div><div><h2 class="title"> +<a name="new-tech-docs"></a>1.The Design and Implementation of Valgrind</h2></div></div></div> +<p>A number of academic publications nicely describe many aspects +of Valgrind's design and implementation. Online copies of all of +them, and others, are available at +http://valgrind.org/docs/pubs.html.</p> +<p>A good top-level overview of Valgrind is given in:</p> +<p> +"Valgrind: A Framework for Heavyweight Dynamic Binary +Instrumentation." Nicholas Nethercote and Julian Seward. Proceedings +of ACM SIGPLAN 2007 Conference on Programming Language Design and +Implementation (PLDI 2007), San Diego, California, USA, June 2007. +This paper describes how Valgrind works, and how it differs from other +DBI frameworks such as Pin and DynamoRIO.</p> +<p>The following two papers together give a comprehensive +description of how Memcheck works:</p> +<p>"Using Valgrind to detect undefined value errors with +bit-precision." Julian Seward and Nicholas Nethercote. Proceedings +of the USENIX'05 Annual Technical Conference, Anaheim, California, +USA, April 2005. This paper describes in detail how Memcheck's +undefined value error detection (a.k.a. V bits) works.</p> +<p>"How to Shadow Every Byte of Memory Used by a Program." +Nicholas Nethercote and Julian Seward. Proceedings of the Third +International ACM SIGPLAN/SIGOPS Conference on Virtual Execution +Environments (VEE 2007), San Diego, California, USA, June 2007. This +paper describes in detail how Memcheck's shadow memory is implemented, +and compares it to other alternative approaches.</p> +<p>The following paper describes Callgrind:</p> +<p>"A Tool Suite for Simulation Based Analysis of Memory Access +Behavior." Josef Weidendorfer, Markus Kowarschik and Carsten +Trinitis. Proceedings of the 4th International Conference on +Computational Science (ICCS 2004), Krakow, Poland, June 2004. This +paper describes Callgrind.</p> +<p>The following dissertation describes Valgrind in some detail +(some of these details are now out-of-date) as well as Cachegrind, +Annelid and Redux. It also covers some underlying theory about +dynamic binary analysis in general and what all these tools have in +common:</p> +<p>"Dynamic Binary Analysis and Instrumentation." Nicholas +Nethercote. PhD Dissertation, University of Cambridge, November +2004.</p> +</div> +<div> +<br><table class="nav" width="100%" cellspacing="3" cellpadding="2" border="0" summary="Navigation footer"> +<tr> +<td rowspan="2" width="40%" align="left"> +<a accesskey="p" href="tech-docs.html"><<Valgrind Technical Documentation</a></td> +<td width="20%" align="center"><a accesskey="u" href="tech-docs.html">Up</a></td> +<td rowspan="2" width="40%" align="right"><a accesskey="n" href="writing-tools.html">2.Writing a New Valgrind Tool>></a> +</td> +</tr> +<tr><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td></tr> +</table> +</div> +</body> +</html> |