DynInst este o bibliotecă de corecție a codului executabil cu mai multe platforme dezvoltată la Universitatea din Wisconsin-Madison și la Universitatea din Maryland, College Park . Poate fi foarte util atunci când dezvoltați instrumente de măsurare a performanței, depanatoare și simulatoare .
Lucrările la API au început în prima jumătate a anilor 90, iar versiunea 1.0 a fost lansată pe 23 septembrie 1997 . Apoi au existat actualizări regulate, iar cea mai recentă versiune în acest moment este versiunea 6.0, lansată pe 2 iulie 2009 . În acest moment, a fost implementat suport pentru două sisteme de operare principale - Linux și Microsoft Windows , precum și suport pentru câteva dintre cele mai comune microarhitecturi de procesoare: Power / PowerPC (AIX), SPARC (Solaris), x86 (Linux și Windows NT ). / 2K / XP), precum și IA-64 (Linux)
În esență, DynInst este o interfață de programare a aplicațiilor (API) implementată ca o bibliotecă. API-ul a fost dezvoltat ca parte a proiectului Paradyn , al cărui scop a fost să ofere o metodă eficientă de instrumentare dinamică fără a modifica puternic fișierele executabile. Pe lângă API-ul DynInst în sine, în kit sunt furnizate mai multe seturi API: SymtabAPI, StackwalkerAPI, InstructionAPI și DepgraphAPI (sunt implementate și ca bibliotecă).
Ciclul obișnuit de dezvoltare a programului constă în crearea (editarea) codului sursă, compilarea și rularea fișierului binar rezultat (codul binar). Uneori este mult mai convenabil să influențezi execuția unui program fără a face modificări codului sursă și, prin urmare, fără a-l recompila. De fapt, acest API rezolvă o astfel de problemă. Oferă suport pentru lipirea codului într-un program care rulează deja. Scopul acestui API a fost de a oferi o interfață independentă de mașină, care a permis instrumentelor de dezvoltare a codului să facă modificări codului, indiferent de platformă sau arhitectura procesorului.
Ca parte a sprijinului și dezvoltării acestui proiect, la Universitatea din Maryland sunt organizate în mod regulat diverse forumuri și întâlniri, sunt anunțate săptămâni dedicate proiectului (de exemplu, Dyninst / Paradyn Week 2009 a avut loc în aprilie 2009). În plus, API-ul este testat în mod constant pentru a găsi erori, iar rezultatele sunt publicate pe site-ul oficial al proiectului.
Profileri | |
---|---|
|