DynInst is a multi- platform executable code patch library developed at the University of Wisconsin-Madison and the University of Maryland College Park . It can be very useful in developing performance measurement tools, debuggers, and simulators .
Content
- 1 History
- 2 Review
- 3 Support and further development
- 4 notes
- 5 Links
History
Work on the API began in the first half of the 90s, and version 1.0 was released on September 23, 1997 . Then regular updates came out, and the latest release at the moment is version 6.0, released on July 2, 2009 . Currently, two main operating systems are supported - Linux and Microsoft Windows , as well as support for several of the most common processor microarchitectures: Power / PowerPC (AIX), SPARC (Solaris), x86 (Linux and Windows NT / 2K / XP), as well as IA-64 (Linux)
Overview
At its core, DynInst is an application programming interface (API) implemented as a library. The API was developed as part of the Paradyn project, whose goal was to create an effective method of dynamic instrumentation without a strong modification of executable files. In addition to the DynInst API itself, a few more sets of APIs are supplied: SymtabAPI, StackwalkerAPI, InstructionAPI, and DepgraphAPI (they are also implemented as a library).
The usual program development cycle consists of creating (editing) the source code, compiling and running the resulting binary file (binary code). Sometimes it is much more convenient to influence the execution of a program without making changes to the source code, and thereby doing without recompiling it. Actually, this API solves such a problem. It provides support for inserting code into an already running program. The purpose of this API was to provide a machine-independent interface that allowed code development tools to make changes to the code regardless of platform or processor architecture.
Support and further development
As part of the support and development of this project, various forums, meetings are regularly held at the University of Maryland, weeks are dedicated to the project (for example, Dyninst / Paradyn Week 2009 was held in April 2009). In addition, the API is constantly being tested for errors, and the results are published on the official website of the project.