next up previous
Next: Runtime Instrumentation for Python, Up: Instrumentation Previous: Library Pre-loading

Binary Instrumentation

TAU uses DyninstAPI [20] 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 [28] tool also uses binary rewriting mechanism to insert instrumentation in the application.



Scott Biersdorff 2006-05-05