views:

215

answers:

1

I have a highly parallel Windows program that uses lots of threads, hand-coded machine synchronization instructions, and home-rolled parallel-safe storage allocators. Alas, the storage management has a hole (not a synchonization hole in the allocators, I'm pretty sure) and I'd like to find it. Valgrind has been suggested as a good tool for finding storage management errors. Any experience here with Valgrind used under these circumstances?

+1  A: 

Valgrind does not run on Windows, but it does work with Windows programs running under Wine on Linux. If your program will run under Wine, it has a decent chance of working with valgrind. See winehq.org for details.

The latest version is pretty good at handling all the 32-bit x86 instructions. It can handle programs that create many threads, just don't expect them to run simultaneously under valgrind. It will run only one thread at a time, as if it was run on a single core machine.

mark4o