Next: Runtime Instrumentation for Python,
Previous: Library Pre-loading
TAU uses DyninstAPI  for instrumenting the executable code of a program. DyninstAPI is a dynamic instrumentation package that allows a tool to insert code snippets into a running program or to re-write a binary, using a portable C++ class library. TAU's mutator program tau_run loads a TAU dynamic shared object in the address space of the mutatee (the application program) and instruments it at the level of routines. The Cray Apprentice1#1  tool also uses binary rewriting mechanism to insert instrumentation in the application.