An api for runtime code patching

被引:250
作者
Buck, B [1 ]
Hollingsworth, JK [1 ]
机构
[1] Univ Maryland, Dept Comp Sci, College Pk, MD 20742 USA
关键词
D O I
10.1177/109434200001400404
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
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.
引用
收藏
页码:317 / 329
页数:13
相关论文
共 15 条
  • [11] THE PARADYN PARALLEL PERFORMANCE-MEASUREMENT TOOL
    MILLER, BP
    CALLAGHAN, MD
    CARGILLE, JM
    HOLLINGSWORTH, JK
    IRVIN, RB
    KARAVANIC, KL
    KUNCHITHAPADAM, K
    NEWHALL, T
    [J]. COMPUTER, 1995, 28 (11) : 37 - &
  • [12] PASE D, 1998, DYNAMIC PROBE CLASS
  • [13] Romer Ted, 1997, USENIX WIND NT WORKS
  • [14] SRIVASTAVA A, 1994, SIGPLAN C PROGR LANG
  • [15] *SYST PERF EV COOP, 1993, CAP MAN REV, V21, P4