FSc*_*idt 5 command-line intel 12.04
我想在 Ubuntu 12.04 上使用英特尔的 pin 工具,但在安装时遇到问题。我从http://www.pintool.org/下载了适用于 Linux 64 位的 pin ,解压缩包并在 source/tools/ 中编译示例。我现在如何运行 pin?尝试:
pin
pin.sh
./pin
Run Code Online (Sandbox Code Playgroud)
等等,似乎都没有工作:(我需要安装任何额外的库还是...?谢谢!
基本上引脚工具被设计为“即时(JIT)”编译器,因此该架构背后的两个组件是检测和分析代码。如您所知,PIN 工具能够独立检测架构。因此,由于检测发生在代码序列第一次执行之前,因此您必须直接使用目标基准测试来处理程序。
以下是一些提示:
首先进入Pin工具的上级目录,pin的一般用法定义为:
pin [OPTION] [-t <tool> [<toolargs>]] -- <command line>
Run Code Online (Sandbox Code Playgroud)
其次,将 pin 的路径导出到环境中,以便能够在其他地方使用它(在我的例子中是):
export PATH=$PATH:/home/amir/pin-2.12-58423-gcc.4.4.7-linux/
Run Code Online (Sandbox Code Playgroud)
现在,您可以在任何地方使用它来固定仪器(编译计数、采用的分支等)。
即:有一些示例源可以开始解决
$ cd source/tools/ManualExamples
Run Code Online (Sandbox Code Playgroud)
像inscount、linux_buffer等使用make命令来g++编译源代码:
make inscount0.test
Run Code Online (Sandbox Code Playgroud)
进而 :
$ pin -t inscount0.so -- /bin/ls
Run Code Online (Sandbox Code Playgroud)
获取 /bin/ls 的输出。
希望对您有帮助。
小智 2
Intel 的 PIN 是一个二进制检测框架,可用于动态检测二进制程序。要指定必须准确检测哪些指令以及使用哪些指令,您可以指定要固定的 pintool。实际上没有任何进一步的“安装”。
以下是自述文件中有关如何使用 pin 的示例:
pin -t obj-intel64/opcodemix.so --/bin/ls
这将检测并运行 /bin/ls,该工具的输出位于 opcodemix.out 中。