|
From: Andy B. <ab...@th...> - 2004-08-05 18:30:21
|
On Thu, 2004-08-05 at 07:26, Nicholas Nethercote wrote: > I found that Memcheck and Helgrind do not work under this setup, because > they cannot load libraries at 0x40000000 as they want to -- the tools > reserve too much of the 2GB address space for themselves. > > However, Addrcheck, Cachegrind and Massif do work, as they need less space > for themselves, which is a start. Note that if you try running big > programs under Valgrind, you might run out of memory, as the system > doesn't have that much to play with. Just throwing out an idea here -- but how possible would it be to run a tool in a different process and have valgrind communicate with the tool's process over IPC? Then the working set of valgrinding something is the normal size of the process + overhead of valgrind itself, rather than process + valgrind + tool. The tool would have a full address space at its disposal. There is speed to consider, this would most likely be slower than the suggested 1-2% slowdown from using -fPIC, but you'd at least be able to valgrind larger processes then. If you used sockets between valgrind and the tool, you could even run the tool on a different machine, perhaps one with more RAM. You might even be able to run multiple tools at the same time this way. This is not necessarily a good idea though, most likely a lot of work to further abstract the memory accesses through the tool to allow non-direct access (I have not examined the code at this level of detail). |