An API for Runtime Code Patching
Top Cited Papers
- 1 November 2000
- journal article
- research article
- Published by SAGE Publications in The International Journal of High Performance Computing Applications
- Vol. 14 (4), 317-329
- https://doi.org/10.1177/109434200001400404
Abstract
The authors present a postcompiler program manipulation tool called Dyninst, which provides a C++ class library for program instrumentation. Using this library, it is possible to instrument and modify application programs during execution. A unique feature of this library is that it permits machine-independent binary instrumentation programs to be written. The authors describe the interface that a tool sees when using this library. They also discuss three simple tools built using this interface: a utility to count the number of times a function is called, a program to capture the output of an already running program to a file, and an implementation of conditional breakpoints. For the conditional breakpoint example, the authors show that by using their interface compared with gdb, they are able to execute a program with conditional breakpoints up to 900 times faster.Keywords
This publication has 5 references indexed in Scilit:
- Critical path profiling of message passing and shared-memory programsIEEE Transactions on Parallel and Distributed Systems, 1998
- Dynamic feedbackPublished by Association for Computing Machinery (ACM) ,1997
- EELPublished by Association for Computing Machinery (ACM) ,1995
- The Paradyn parallel performance measurement toolComputer, 1995
- Abstract execution: A technique for efficiently tracing programsSoftware: Practice and Experience, 1990