A new version of the patch to valgrind needed to support WINE has been uploaded to Sourceforge: http://sourceforge.net/tracker/index.php?func=detail&aid=710006&group_id=462... It should apply cleanly to current valgrind CVS. This version of the patch will now work with an unmodified WINE CVS version. This is because it now _fully_ implements clone() support - ie it really does create system level threads. Currently only one thread can run at a time, so there are no locking issues in the main valgrind code. To use with WINE, you need to get a CVS checkout of valgrind, then apply the patch using: export CVSROOT=:pserver:anonymous(a)cvs.sourceforge.net:/cvsroot/valgrind cvs login cvs co valgrind patch -p0 < valgrind-wine.patch.13 then build and install valgrind: autogen.sh ./configure make install Get a CVS checkout of WINE by following the instructions at: http://www.winehq.com/?page=cvs then configure (for debugging) and build: CFLAGS=-g ./configure make depend && make install now you can start looking for bugs in WINE, and bugs in your own (debug) Windows code. Copy any DLLs/EXEs to somewhere WINE can get to them, plus copy any .PDB files that go with them into the same directory. Run WINE under valgrind using eg: valgrind --num-callers=30 --workaround-gcc296-bugs=yes wine notepad.exe or even: valgrind --num-callers=30 --workaround-gcc296-bugs=yes --gdb-attach=yes wine notepad.exe enjoy. Seeya, Adam -- Real Programmers don't comment their code. If it was hard to write, it should be hard to read, and even harder to modify. These are all my own opinions.