Show Notes
What is DTrace?
Uses
What can you do with DTrace?
Mac OS X Tracing, Application tracing, system wide tracing, simple debugging
What you can't do with DTrace/ What DTrace what not meant to do
Replace gdb, objective-c object introspection, etc
Quick DTrace History
Who created it and why
DTrace history on Mac OS X
DTrace design in Mac OS X
User space components ( Interfaces for Terminal/Instruments,libdtrace.dylib and what it does )
Kernel components ( interpreter, providers )
How you interact with DTrace ( The D Language )
Event speculative language
awk like
Not turning complete (no branching, interation, user functions ,etc)
How to learn Dtrace
Read Sun's DTrace Documenation (most of it's applicable to Mac OS X)
Play in terminal with simple scripts
Use the TextMate bundle (shameless self pimping of product)
DTrace & Cocoa/Objective-C
Objective-C Provider
pid provider for garbage collection / tracing functions from cocoa into Core Foundation, other libraries
DTrace & Instruments
Built In Instruments (most relevant to Cocoa Developers )
Core Data
Garbage Collector ( AutoZone )
Cocoa Events
Custom Instruments
Embedding DTrace in your app ( USDT Probes or Userland Static Probes )
Provider file
Using the probes in your code
DTrace / iTunes / Quicktime / Fairplay DRM Controversy & DTrace on pre 10.5.3 systems (disabling DTrace on your app)
What will be added in DTrace for Snow Leopard? (to the extent that we aren't breaking NDA's)
New probes for new technologies
What providers do developers want?
Debug Cocoa with DTrace Guide & Embedding DTrace into Xcode Video
Debugging Cocoa with DTrace guide
(Intro "DTrace User Guide") http://docs.sun.com/app/docs/doc/819-5488
(Deep Reference "Solaris Dynamic Tracing Guide") http://docs.sun.com/app/docs/doc/817-6223
http://cocoasamurai.blogspot.com/2008/05/dtrace-for-cocoa-developers.html
download it from viddler at http://www.viddler.com/explore/Machx/videos/4/
http://github.com/Machx/dtrace-textmate-bundle/tree/master