I find this book fairly small and practical. No abstract theories. Uses c++ java etc for illustrations.
Covers unix, windows, web app.
=== debugging memory allocators
uninitialized variable access
varialbe access after deallocation
Microsoft VC++ has a debuging mem allocator built in. Try http://msdn.microsoft.com/en-us/library/e5ewb1h3(v=vs.90).aspx
–P201 DTrace – included in Mac OS X
–P202 WireShark, similar to tcpdump
–P203 firebug – client-side debugging
–P188 rewrites – pitfalls
–A chapter on reproducing bugs — quite practical