Chinaunix首页 | 论坛 | 博客
  • 博客访问: 76777
  • 博文数量: 21
  • 博客积分: 1440
  • 博客等级: 上尉
  • 技术积分: 325
  • 用 户 组: 普通用户
  • 注册时间: 2007-11-05 21:22
文章分类

全部博文(21)

文章存档

2008年(21)

我的朋友
最近访客

分类: C/C++

2008-08-07 18:12:25

Overview
Purpose. Pin is a tool for the dynamic instrumentation of programs. It supports Linux binary executables for Intel (R) Xscale (R), IA-32, Intel64 (64 bit x86), and Itanium (R) processors; Windows executables for IA-32 and Intel64; and MacOS executables for IA-32. Pin was designed to provide functionality similar to the popular ATOM toolkit for Compaq's Tru64 Unix on Alpha, i.e. arbitrary code (written in C or C++) can be injected at arbitrary places in the executable. Unlike Atom, Pin does not instrument an executable statically by rewriting it, but rather adds the code dynamically while the executable is running. This also makes it possible to attach Pin to an already running process.
The API. Pin provides a rich API that abstracts away the underlying instruction set idiosyncrasies and allows context information such as register contents to be passed to the injected code as parameters. Pin automatically saves and restores the registers that are overwritten by the injected code so the application continues to work. Limited access to symbol and debug information is available as well.
Distribution
Open-Source Pintools. Pin includes the source code for a large number of example instrumentation tools like basic block profilers, cache simulators, instruction trace generators, etc. It is easy to derive new tools using the examples as a template.
Cost. Pin is provided free of charge by Intel and can be redistributed.

--------------------------------------------------------------------------------
University of Colorado is hosting this web site to facilitate distribution of kits and information sharing about Pin.
Website::
阅读(629) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~