dtrace in PHP on OSX (yes you CAN do it :P) Take one script: Run it in a terminal - open up another... and... Macintosh:dtrace-1.0.3+fix lpackham$ uname -a Darwin Macintosh.local 9.0.0 Darwin Kernel Version 9.0.0: Tue Oct 9 21:35:55 PDT 2007; root:xnu-1228~1/RELEASE_I386 i386 i386 Macintosh:dtrace-1.0.3+fix lpackham$ dtrace -n function-entry'{printf("called %s() in %s at line %d\n", copyinstr(arg0), copyinstr(arg1), arg2)}' -q dtrace: failed to initialize dtrace: DTrace requires additional privileges Macintosh:dtrace-1.0.3+fix lpackham$ sudo dtrace -n function-entry'{printf("called %s() in %s at line %d\n", copyinstr(arg0), copyinstr(arg1), arg2)}' -q Password: called () in /Users/lpackham/blastoff.php at line 0 called launch() in /Users/lpackham/blastoff.php at line 32 called three() in /Users/lpackham/blastoff.php at line 27 called two() in /Users/lpackham/blastoff.php at line 22 called one() in /Users/lpackham/blastoff.php at line 16 called blastoff() in /Users/lpackham/blastoff.php at line 10 called sleep() in /Users/lpackham/blastoff.php at line 33 called launch() in /Users/lpackham/blastoff.php at line 32 called three() in /Users/lpackham/blastoff.php at line 27 called two() in /Users/lpackham/blastoff.php at line 22 called one() in /Users/lpackham/blastoff.php at line 16 called blastoff() in /Users/lpackham/blastoff.php at line 10 called sleep() in /Users/lpackham/blastoff.php at line 33 called launch() in /Users/lpackham/blastoff.php at line 32 called three() in /Users/lpackham/blastoff.php at line 27 called two() in /Users/lpackham/blastoff.php at line 22 called one() in /Users/lpackham/blastoff.php at line 16 called blastoff() in /Users/lpackham/blastoff.php at line 10 called sleep() in /Users/lpackham/blastoff.php at line 33 called launch() in /Users/lpackham/blastoff.php at line 32 called three() in /Users/lpackham/blastoff.php at line 27 called two() in /Users/lpackham/blastoff.php at line 22 called one() in /Users/lpackham/blastoff.php at line 16 called blastoff() in /Users/lpackham/blastoff.php at line 10 called sleep() in /Users/lpackham/blastoff.php at line 33 called launch() in /Users/lpackham/blastoff.php at line 32 called three() in /Users/lpackham/blastoff.php at line 27 called two() in /Users/lpackham/blastoff.php at line 22 called one() in /Users/lpackham/blastoff.php at line 16 called blastoff() in /Users/lpackham/blastoff.php at line 10 called sleep() in /Users/lpackham/blastoff.php at line 33