I've ported the newest release of valgrind to NetBSD.
It can already boostrap a program and detect invalid read/write
operations in a process.
It has support for a set of NetBSD syscalls, like SYS_exit.
However the truth is that it's breaking after the first report in
unspecified location. With our improving tooling (LLDB! sanitizers!) the
process of investigating software bugs keeps improving, but it's still
non-trivial to catch bugs in a valgrind port and it will take a while.
My port so far consists of 16kLOC diff. It's inspired by existing
support done for BSDs recently and in old times.