Interesting post on how debuggers work.

Other interesting articles:

  1. Abusing mach on Mac OS X: Discusses how to replace some ptrace functionality using Mach functions
  2. mach_star and mach_inject (still being developed?): Opensource code to dynamically load your code into a running process. Port for Intel machines. Also see this link.