The following links are about "deeper magic" of DTrace internals, in particluar, challenges of faithfully tracing multi-threaded processes. It is hard to debug a multi-threaded process with a traditional debugger, because such debuggers eliminate concurrency (or, "serialize") threaded code -- making it impossible for some bugs to be reproduced under the debugger (cf. "Heisenbug"). http://dtrace.org/blogs/bmc/2011/03/09/when-magic-collides/ (note discussion of loss-less tracing of threads) http://dtrace.org/resources/ahl/img0.html (skip SPARC slides, note the discussion of sync/async signals, amd64 RIP-relative addressing)