|
From: Filipe C. <fi...@gm...> - 2008-06-05 18:22:56
|
Hi, On 5 Jun, 2008, at 17:07, Pandurangan R S wrote: > I assume that valgrind checks each memory access, against this > tables. But how > does valgrind intercept every memory access so that it can lookup > this table? > This might be very basic question, but I could not find how valgrind > checks > every access. Any pointers or document references related to this > will be > great. Valgrind never runs the original code. It uses VEX to read your program, lets memcheck (or another tool) instrument it and then generates binary code to run. So the code you saw in memcheck is code to instrument the IR to check the original program's memory accesses. As for documentation, the PLDI '07 paper is rather nice to get you started (http://valgrind.org/docs/pubs.html ) - Filipe Cabecinhas |