DTrace Opt-Out on Mac OS X

Adam Leventhal, after getting seemingly inexplicable results from DTrace (Leopard’s new super-low-level debugging tool) while iTunes is running, discovered that Apple’s DTrace implementation allows apps to opt-out of it:

Wow. So Apple is explicitly preventing DTrace from examining or recording data for processes which don’t permit tracing. This is antithetical to the notion of systemic tracing, antithetical to the goals of DTrace, and antithetical to the spirit of open source. I’m sure this was inserted under pressure from ISVs, but that makes the pill no easier to swallow.

My guess is that this has more to do with making it harder to use DTrace to examine/reverse-engineer secretive code like FairPlay and DVD playback. Same thing goes for GDB.

Sunday, 20 January 2008