DynamoRIO is a runtime code manipulation system that supports code transformations on any part of a program, while it executes. DynamoRIO exports an interface for building dynamic tools for a wide variety of uses: program analysis and understanding, profiling, instrumentation, optimization, translation, etc. Unlike many dynamic tool systems, DynamoRIO is not limited to insertion of callouts/trampolines and allows arbitrary modifications to application instructions via a powerful IA-32/AMD64 instruction manipulation library. DynamoRIO provides efficient, transparent, and comprehensive manipulation of unmodified applications running on stock operating systems (Windows or Linux) and commodity IA-32 and AMD64 hardware.
Tutorial Slides
Available from the download links above.
Tutorial Video
Divided into two parts:
part1.wmv
part2.wmv
Documentation
http://www.vmware.com/partners/academic/dynamorio-tutorial.html

To obtain DynamoRIO for Windows: DynamoRIO Dynamic Instrumentation Tool Platform
To obtain DynamoRIO for Linux: DynamoRIO Dynamic Instrumentation Tool Platform for Linux
Related information:
http://www.govirtual.org/blogs/derek/2008/11/12/interface-comparison-of-dynamori o-and-pin|||||